我有两个数组,一个是日期,另一个是价格。我需要创建一个包含这两个交集的JS对象。
它应该看起来像这样:
{ date: "2018-01-01", price: 82 }
或
{ date: date[0], price: price[0]}
... 250行。
我知道我可以使用Object.assign.apply组合对象,但是随后我得到一个看起来像这样的对象:
{"2018-01-01": 82 }
没有按键。那么如何格式化密钥?
谢谢!
答案 0 :(得分:1)
您可以.map()
和...
将其散布成如下组合:
let dates = [{date:'20-jan-2017'},{date:'20-dec-2016'}];
let prices = [{price:200}, {price:300}]
let combined = dates.map((date, key) => { return {...date, ...prices[key]}})
console.log(combined);
答案 1 :(得分:0)
如果数组的长度相同(我认为它们是相同的),则可以对其进行迭代,然后将两个元素都添加到对象数组中。
let output = [];
for(let i = 0; i < arrLen; i++){
output.push({
date: arr1[i],
price: arr2[i]
});
}
答案 2 :(得分:0)
假设两个数组的大小都相同
const prices = [...] // an existing array
const dates = [...] // another array with the same length
const newArray = dates.map((date, i) => ({ date, price: prices[i] }))