let obj2 = {
  level2:{
    data:"data"
  }
}

let obj2Array  = [obj2,obj2,obj2];
obj2Array.map(obj=>{
  obj = obj.levle2.data
});
console.log(obj2Array)



我期望的是[“ data”,“ data”,“ data”]。但是我仍然得到了原始数据。
我知道我可以使用forEach()实现此目的,但是为什么不能在map()中重新分配元素?

最佳答案

因为.map()不会改变原始数组,所以它会返回一个新数组,因此您应该这样做:

let obj2Array = [obj2,obj2,obj2];
obj2Array = obj2Array.map(obj=>{
  obj = obj.levle2.data
});
console.log(obj2Array)

10-07 14:41