数组循环为为另一个数组push对象不同的值

mac2024-05-19  27

错误示范

let listDatas = [] let num = listDatas.length; let param = { num:"", //父级 majorName: valueRadio, //子级 subObject: "" } //循环添加时,最后输出的值是一样,需要这样处理 suboList.forEach((item,i) => { param.num=i+num param.subObject = item listDatas[num+i] = param; //这里listDatas[num+i]值指向的是param的引用地址 }) **这样添加对象最后输出的值是一模一样的**

正确方法

let listDatas = []; let num = listDatas.length; //循环添加时,最后输出的值是一样,需要这样处理 suboList.forEach((item,i) => { let param = { num: num+i, //父级 majorName: valueRadio, //子级 subObject: item } listDatas[num+i] = param; }) //使用了es6的块级作用域
最新回复(0)