2016-11-06 84 views
0

我有一个javascript对象数组。将序列号属性追加到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

回答

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); 
2

随着array.map您可以在每个单元上运行的功能:

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

我总是很喜欢FP-风格答案的风采。我更喜欢你的答案:)。 Upvoted – user781486