我有一个对象数组。我想向该数组中的所有对象添加两个新属性。 对象在数组中的位置和数组的长度。
我的代码是:
file:
在forEach循环中,添加了属性。我可以在蜂鸣时打印它们。但是在循环完成后,属性消失了。
如果尝试了Add property to an array of objects,但是forEach和.map都不起作用。
我也尝试过:
objArr.forEach(function(element) {
element.data.basics.all= objArr.length,
element.data.basics.position= objArr.indexOf(element),
});
和
objArr.forEach(function(element) {
element.data.basics.all= objArr.length,
element.data.basics.position= objArr.indexOf(element),
return element
});
并且在所有情况下我都尝试使用箭头功能,所以...... objArr.forEach((element)=> {...})
答案 0 :(得分:0)
它与forLoop一起正常工作,添加了新属性。
var array = [
{ person: { age: 76 }, state: 'ka' },
{ person: { age: 87 }, state: 'ap' },
{ person: { age: 45 }, state: 'tn' }
];
array.forEach(function(element, index){
element.person.length = array.length;
element.person.index = index;
});
console.log(array)