我有一个带有一些对象的数组:
var myArray = [{
'id': 'first',
'value': 'firstValue'
}, {
'id': 'second',
'value': 'secondValue'
}, {
'id': 'third',
'value': 'thirdValue'},
etc.];
我正在尝试使用循环添加值,以便我有这样的东西:
var myArray = [{
'id': 'first',
'value': 'firstValue',
'inc1' : 1
}, {
'id': 'second',
'value': 'secondValue'
'inc2' : 2
}, {
'id': 'third',
'value': 'thirdValue'
'inc3' : 3
}];
我知道这与映射
myArray.forEach(function(o, i) {
o.inc = i + 1;
});
我可以将结果递增,但如何获取名称inc1,inc2,inc3 ......?
答案 0 :(得分:4)
您可以将属性的括号表示法用作property accessor,例如
object.property // dot notation object['property'] // bracket notation
var myArray = [{ id: 'first', value: 'firstValue' }, { id: 'second', value: 'secondValue' }, { id: 'third', value: 'thirdValue' }];
myArray.forEach(function (o, i) {
o['inc' + (i + 1)] = i + 1;
//^^^^^^^^^^^^^^^^ use brackets and property as string
});
console.log(myArray);
.as-console-wrapper { max-height: 100% !important; top: 0; }