如何将自定义键值分配给数组?

时间:2020-10-14 21:01:56

标签: javascript

如何将这个[[{name:“ TSLA”,价格:234}],[{name:“ SHOP”,价格:22}]]变成这个[{stock:[{name:“ TSLA” ,价格:234}]},{库存:[{name:“ SHOP”,价格:22}]}}。我尝试了以下操作,但这使我[{'0':[[Object]]},{'1':[]}]。因此,我需要将它们作为库存而不是“ 0”和“ 1”。

const a = [ [{name:"TSLA", price: 234}], [{name:"SHOP", price: 22}] ]

let b = Object.keys(a).map((stock) => {
  let output ={};
  output[stock] = a[stock]
  return output
})

1 个答案:

答案 0 :(得分:3)

您的stock变量实际上是数组中数组的索引。如果要使用字符串'stock'作为输出对象中数组的属性名称,则需要将给定索引处的数组分配给字符串'stock'。您可以通过以下方式进行操作:

const array = [
  [{name:'TSLA', price: 234}],
  [{name:'SHOP', price: 22}]
];

const output = Object
  .keys(array)
  .map(index => ({
    'stock': array[index]
  }));

console.log(output);