javascript 中的字符串未返回正确的反向字符串
string is not returning correct reverse string in javascript
我正在尝试使用以下函数反转字符串,但它 return 不正确的字符串。如下所示,我尝试使用 'devesh' 它给出了 'hseesh'
var reverseString = function(s) {
let j = 0
for(let i=s.length-1; i>=0; i--){
s[j++] = s[i]
}
return s
};
console.log(reverseString(['d', 'e', 'v', 'e', 's', 'h']))
// ['h', 's', 'e', 'v', 'e', 'd']`enter code here`
这是一种更简单的方法:
var reverseString = function(s) {
return s.reverse();
};
它不起作用,因为您正在覆盖 for
循环中的 s
,
相反,创建一个空的并填充它:
var reverseString = function(s) {
let j = 0;
let newS = [];
for (let i = s.length - 1; i >= 0; i--) {
newS[j++] = s[i]
}
return newS;
};
console.log(reverseString(['d', 'e', 'v', 'e', 's', 'h']))
您可以避免使用额外的变量 j
,只需将每个字母推入结果数组,如下所示:
const reverseString = values => {
const result = [];
for(let i = values.length - 1; i >= 0; i--) {
result.push(values[i]);
}
return result;
};
console.log(reverseString(['a','b','c']))
我正在尝试使用以下函数反转字符串,但它 return 不正确的字符串。如下所示,我尝试使用 'devesh' 它给出了 'hseesh'
var reverseString = function(s) {
let j = 0
for(let i=s.length-1; i>=0; i--){
s[j++] = s[i]
}
return s
};
console.log(reverseString(['d', 'e', 'v', 'e', 's', 'h']))
// ['h', 's', 'e', 'v', 'e', 'd']`enter code here`
这是一种更简单的方法:
var reverseString = function(s) {
return s.reverse();
};
它不起作用,因为您正在覆盖 for
循环中的 s
,
相反,创建一个空的并填充它:
var reverseString = function(s) {
let j = 0;
let newS = [];
for (let i = s.length - 1; i >= 0; i--) {
newS[j++] = s[i]
}
return newS;
};
console.log(reverseString(['d', 'e', 'v', 'e', 's', 'h']))
您可以避免使用额外的变量 j
,只需将每个字母推入结果数组,如下所示:
const reverseString = values => {
const result = [];
for(let i = values.length - 1; i >= 0; i--) {
result.push(values[i]);
}
return result;
};
console.log(reverseString(['a','b','c']))