Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.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 未在for循环中执行的链方法_Javascript_String_Sorting - Fatal编程技术网

Javascript 未在for循环中执行的链方法

Javascript 未在for循环中执行的链方法,javascript,string,sorting,Javascript,String,Sorting,我一直在处理for循环中的数组字符串,我相信我没有犯任何语法错误,但它仍然没有按预期工作: var words = ['bac','ccc','cbd']; for(var i = 0; i < words.length; i++){ words[i].split('').sort().join(''); } //return ['bac','ccc','cbd'], which was expected to be words = ['abc', 'ccc','bcd'];

我一直在处理for循环中的数组字符串,我相信我没有犯任何语法错误,但它仍然没有按预期工作:

var words = ['bac','ccc','cbd'];

for(var i = 0; i < words.length; i++){
    words[i].split('').sort().join('');
 } //return ['bac','ccc','cbd'], which was expected to be words = ['abc', 'ccc','bcd'];

所以我想知道为什么那些链式方法不能在循环中工作?

您忘记了赋值
words[i]=words[i].split(“”).sort().join(“”)

var-words=['bac','ccc','cbd'];
for(var i=0;iconsole.log(words)
您忘记了赋值
words[i]=words[i].split(“”).sort().join(“”)

var-words=['bac','ccc','cbd'];
for(var i=0;iconsole.log(words)
您必须使用赋值,因为VanillaJS字符串函数本身不会赋值给参数,或者作为引用传递。它似乎是作为值参数传递的

var words = ['bac','ccc','cbd'];

for(var i = 0; i < words.length; i++){
   words[i]= words[i].split('').sort().join('');
 } 
   console.log(words);
var-words=['bac','ccc','cbd'];
for(var i=0;i
查看下面的屏幕截图。它向您显示,即使没有循环,它也不会像您期望的那样工作


您必须使用赋值,因为VanillaJS字符串函数本身不赋值给参数,或者作为引用传递。它似乎是作为值参数传递的

var words = ['bac','ccc','cbd'];

for(var i = 0; i < words.length; i++){
   words[i]= words[i].split('').sort().join('');
 } 
   console.log(words);
var-words=['bac','ccc','cbd'];
for(var i=0;i
查看下面的屏幕截图。它向您显示,即使没有循环,它也不会像您期望的那样工作


谢谢你的回答,它很有效。但是你能告诉我为什么需要将值再次赋给单词[i]吗?我认为每个元素(单词[i])都已经随着链发生了变化function@JianNCIVanillaJS字符串函数本身并不能做到这一点。我们必须手动分配。它甚至不能与单个功能一起工作,更不用说链了function@JianNCI正如您所说的单词[0]。拆分(“”).sort().join(“”);//return'abc'它返回一个值,所以您需要分配它来使用它。谢谢您的回答,它可以工作。但是你能告诉我为什么需要将值再次赋给单词[i]吗?我认为每个元素(单词[i])都已经随着链发生了变化function@JianNCIVanillaJS字符串函数本身并不能做到这一点。我们必须手动分配。它甚至不能与单个功能一起工作,更不用说链了function@JianNCI正如您所说的单词[0]。拆分(“”).sort().join(“”);//返回“abc”它返回一个值,因此您需要分配它以使用它。。