Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
字符串在javascript中未返回正确的反向字符串_Javascript_Data Structures_Array Algorithms - Fatal编程技术网

字符串在javascript中未返回正确的反向字符串

字符串在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']

我试图使用以下函数反转字符串,但它没有返回正确的字符串。如下所示,我尝试使用“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();
};

这是一种更简单的方法:

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]
覆盖该字符串。您可以创建一个新数组并将字母推入数组。