我试图在 foreach
语句中修改每个数组元素,在本例中是通过添加一个字符串。
var test = [["A","B"],["C","D"]]
test.forEach(function(test2){
test2 = test2.map(function(elem){
return elem+"_NEW STRING"
})
console.log(test2);
})
console.log(test);
但是,最终的变量还是和原来的一样,数组内容没有做任何改变,即使中间的console.log打印正确。
我做错了什么? 这似乎是一个简单的问题,但我无法使其正常工作......
提前致谢!
最佳答案
forEach
在这种情况下可能不是您想要的方法。您可能需要两个分别返回的 map
。您可以将其缩短为单行代码,但我将其保留得更详细一些,以便更容易判断发生了什么:
var test = [["A","B"],["C","D"]]
test = test.map(function(test2){
return test2.map(function(elem){
return elem+"_NEW STRING"
})
})
console.log(test);
关于javascript - foreach 和更改变量的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67078466/