javascript - foreach 和更改变量的问题

标签 javascript

我试图在 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/

相关文章:

javascript - 将元素更改为输入然后获取更新的记录

使用正则表达式的 Javascript 密码验证

javascript - vue js中选择表单的标签中的几个项目

javascript - 在 Canvas 中使用 Clip 会导致像素

javascript - 如果异步/等待只是线程的包装,为什么异步/等待的性能比线程好?

javascript - jquery 爆炸如何做到这一点

javascript - 停止传播事件监听器单击,但仍允许元素内发生其他单击事件

javascript - 如何在不关闭窗口的情况下进行网格更新

javascript - 如何运行 Backbone js 应用程序?

javascript - 使用 d3.nest 实现 D3 树形图 json