将新对象推入多维数组

时间:2018-10-01 17:28:52

标签: javascript arrays

说我有这个数组:

var array = [{'ref1': {'Product': 'Car', 'color': 'Red'}}, {'ref2': {'product': 'velo', 'color': 'red'}}]

我想仅将'price':'8'添加到'ref1'

如何正确执行此操作?

亚历克斯。

4 个答案:

答案 0 :(得分:2)

如果您不确定不确定包含“ ref1”属性的对象是否始终位于索引0,则这里的代码更加动态:

const insert = (idProp, key, value) => {
  var el = array.find(el => el.hasOwnProperty(idProp));
  if (el) { el[idProp][key] = value }
}

然后通过

调用
insert('ref1', 'Price', 8)

答案 1 :(得分:0)

这是您的操作方式:array[0]['ref1'].price = 8;

var array = [
  {'ref1': {'Product': 'Car', 'color': 'Red'}}, {'ref2': {'product': 'velo', 'color': 'red'}}]

array[0]['ref1'].price = 8;

console.log(array)

观察:ref1具有小写的属性Product,而ref2具有小写的属性product。以后可能会给您带来一些问题。

答案 2 :(得分:0)

您可以执行以下操作:

var arr = [{'ref1': {'Product': 'Car', 'color': 'Red'}}, {'ref2': {'product': 'velo', 'color': 'red'}}];

console.log(arr);

arr[0]['ref1'].Price = 8;

console.log(arr);

答案 3 :(得分:0)

找到ref1项目的索引,然后将值分配给Price参数。

str(j)*i