在javascript

时间:2016-11-06 05:03:37

标签: arrays node.js append javascript-objects

我在javascript中有一个对象数组。

var obj_arr = 
[{
    DATA_ID: 281,
    DATA_NAME: 'CIM',
    DATA_STATE: '0'
},
{
    DATA_ID: 382,
    DATA_NAME: 'CIMx',
    DATA_STATE: '0' 
},
{
    DATA_ID: 482,
    DATA_NAME: 'CIMy',
    DATA_STATE: '1' 
}]

我想在此数组中为每个对象附加一个序列号。附加的对象看起来像这样;

var obj_arr_appended = 
[{
    SERIAL_NO: 1,
    DATA_ID: 281,
    DATA_NAME: 'CIM',
    DATA_STATE: '0'
},
{
    SERIAL_NO: 2,
    DATA_ID: 382,
    DATA_NAME: 'CIMx',
    DATA_STATE: '0' 
},
{
    SERIAL_NO: 3,
    DATA_ID: 482,
    DATA_NAME: 'CIMy',
    DATA_STATE: '1' 
}]

序列号将自动递增。我正在使用node.js v6

2 个答案:

答案 0 :(得分:2)

使用array.map,您可以对每个元素运行一个函数:

var obj_arr_appended = obj_arr.map(function(currentValue, Index) {
   currentValue.SERIAL_NO = Index
   return currentValue
})

答案 1 :(得分:0)

此代码应该有效。

var obj_arr = 
    [{
        DATA_ID: 281,
        DATA_NAME: 'CIM',
        DATA_STATE: '0'
    },
    {
        DATA_ID: 382,
        DATA_NAME: 'CIMx',
        DATA_STATE: '0' 
    },
    {
        DATA_ID: 482,
        DATA_NAME: 'CIMy',
        DATA_STATE: '1' 
    }]    

    for (let i = 0; i < obj_arr.length; i++) {
            obj_arr[i]["SERIAL_NO"] = i;
        }

    console.log(obj_arr);