我有两个数组,我需要创建类似{x: new Date(2019, 1, 1), y: 0}的对象。数组的结果如下所示

dates

Array [
  "2019, 1, 31",
  "2019, 2, 28",
  "2019, 3, 31",
]


monthlyTopUp

Array [
  0,
  50,
  0,
]


现在,第一个数组的每个索引都需要与第二个数组的索引匹配。

我尝试过的返回了一个包含其他数组的数组

Array [
  Array [
    "2019, 1, 31",
    0,
  ],
  Array [
    "2019, 2, 28",
    50,
  ],
  Array [
    "2019, 3, 31",
    0,
  ],
]


我这样做的方式:

const array = [dates, monthlyTopUp];
const data = array.reduce(
  (dates, topUp) => topUp.map((v, i) => (dates[i] || []).concat(v)), []
);
console.log(data)

最佳答案

您可以使用Array.prototype.reduce



let arr1 = ["2019, 1, 31",  "2019, 2, 28",  "2019, 3, 31"];
let arr2 = [0, 50, 0];

let final=arr1.reduce((acc,value,i)=>{
let tempobj={};

tempobj["x"]=new Date(value.replace(/\s/g, "").replace(/,/g, "-"));
tempobj["y"]=arr2[i];
acc.push(tempobj)
return acc;


},[])

console.log(final)

07-24 09:44
查看更多