2016-11-06 83 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