Javascript 未在for循环中执行的链方法
我一直在处理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'];
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;i console.log(words)
您忘记了赋值words[i]=words[i].split(“”).sort().join(“”)代码>
var-words=['bac','ccc','cbd'];
for(var i=0;i console.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”它返回一个值,因此您需要分配它以使用它。。