字符串在javascript中未返回正确的反向字符串
我试图使用以下函数反转字符串,但它没有返回正确的字符串。如下所示,我尝试使用“devesh”,它会给出“hseesh”字符串在javascript中未返回正确的反向字符串,javascript,data-structures,array-algorithms,Javascript,Data Structures,Array Algorithms,我试图使用以下函数反转字符串,但它没有返回正确的字符串。如下所示,我尝试使用“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']
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();
};
这是一种更简单的方法:
var reverseString = function(s) {
return s.reverse();
};
它不起作用,因为您正在覆盖
for
循环中的s
相反,创建一个空的并填充它:
var reverseString=函数{
设j=0;
让新闻=[];
对于(设i=s.length-1;i>=0;i--){
新闻[j++]=s[i]
}
返回消息;
};
console.log(反向字符串(['d','e','v','e','s','h'])
它不工作,因为您正在覆盖for
循环中的s
相反,创建一个空的并填充它:
var reverseString=函数{
设j=0;
让新闻=[];
对于(设i=s.length-1;i>=0;i--){
新闻[j++]=s[i]
}
返回消息;
};
log(反向字符串(['d','e','v','e','s','h'])
您可以避免使用额外的变量j
,只需将每个字母推入结果数组,如下所示:
const reverseString=values=>{
常量结果=[];
对于(设i=values.length-1;i>=0;i--){
结果推(值[i]);
}
返回结果;
};
log(反向字符串(['a','b','c'])
您可以避免使用额外的变量j
,只需将每个字母推入结果数组,如下所示:
const reverseString=values=>{
常量结果=[];
对于(设i=values.length-1;i>=0;i--){
结果推(值[i]);
}
返回结果;
};
log(reverseString(['a','b','c'])
您正在向函数传递一个数组,因此请确定您想要哪个数组。我已更正。我没有意识到传递了一个数组。(我也不是OP)哎呀,对不起,我以为你是!您正在向函数传递一个数组,因此请确定您想要哪个数组。我已更正。我没有意识到传递了一个数组。(我也不是OP)哎呀,对不起,我以为你是!您将在字符串到达开头之前用s[j++]=s[i]
覆盖该字符串。您可以创建一个新数组并将字母推入数组。您将在字符串到达开头之前用s[j++]=s[i]
覆盖该字符串。您可以创建一个新数组并将字母推入数组。