关于javascript:JS中forEach赋值值得注意的地方

let data = [
  {a: 1},
  {a:2}
]
data.forEach(v => {
  v.title = "hello"
})

console.log(data) // [ {a: 1, title: "hello"}, {a:2, title: "hello"} ] 胜利赋值
let data = [
  {a: 1},
  {a:2}
]
data.forEach(v => {
  v = {a:1, title: "你好"}
})

console.log(data) // [ {a: 1}, {a:2} ] 赋值失败

正确的写法:

let data = [
  {a: 1},
  {a:2}
]
data.forEach((v, i) => {
  data[i] = {a:1, title: "你好"}
})
console.log(data) // [ {a: 1, title: "你好"}, {a:1,  title: "你好"} ] 赋值胜利

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理