Javascript 使用循环映射数组中的对象及其名称
我有一个包含一些对象的数组:Javascript 使用循环映射数组中的对象及其名称,javascript,arrays,mapping,Javascript,Arrays,Mapping,我有一个包含一些对象的数组: var myArray = [{ 'id': 'first', 'value': 'firstValue' }, { 'id': 'second', 'value': 'secondValue' }, { 'id': 'third', 'value': 'thirdValue'}, etc.]; 我试图通过一个循环来添加值,这样我就有了这样的结果: var myArray = [{ 'id': 'first
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…?您可以使用括号表示属性,如
var myArray=[{id:'first',value:'firstValue'},{id:'secondValue',value:'secondValue'},{id:'third',value:'thirdValue'}];
forEach(函数(o,i){
o['inc'+(i+1)]=i+1;
//^^^^^^^^^^^^^^^^使用括号和属性作为字符串
});
log(myArray)代码>
.as console wrapper{max height:100%!important;top:0;}
您可以对属性使用括号表示法,如
var myArray=[{id:'first',value:'firstValue'},{id:'secondValue',value:'secondValue'},{id:'third',value:'thirdValue'}];
forEach(函数(o,i){
o['inc'+(i+1)]=i+1;
//^^^^^^^^^^^^^^^^使用括号和属性作为字符串
});
log(myArray)代码>
作为控制台包装{max height:100%!important;top:0;}
只是好奇:为什么要将数字添加到属性名?只是好奇:为什么要将数字添加到属性名?
object.property // dot notation
object['property'] // bracket notation