将序列号属性附加到javascript中的对象数组
Posted
技术标签:
【中文标题】将序列号属性附加到javascript中的对象数组【英文标题】:Append serial number property to array of objects in javascript 【发布时间】:2017-03-19 16:11:10 【问题描述】:我在 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
【问题讨论】:
【参考方案1】:这段代码应该可以工作。
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
)
【讨论】:
我一直很喜欢 FP 式答案的优雅。我更喜欢你的答案而不是我的答案:)。赞成以上是关于将序列号属性附加到javascript中的对象数组的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript - 如何合并/附加到对象/数组 - ReactJS - 传播语法