我有点精神障碍,但是否有更有效的方法从另一个数组中的值创建 2 个新数组?
这是我目前的例子,虽然它有效,但我觉得可能有更有效的方法;
原始数组;
const daily = [
{event_date: "2019-10-18", listener: 3},
{event_date: "2019-10-19", listener: 3},
{event_date: "2019-10-20", listener: 1}
];
我需要做的是创建 2 个新数组,一个包含 event_date
值,另一个包含 listener
值。
我正在使用 map
来实现这一目标;
const dailyLabels = daily.map((data) => {
return data.event_date;
});
const dailyData = daily.map((data) => {
return data.listener
});
现在我有 2 个可以使用的新数组,但这似乎不是最佳方法。我是对还是错?
最佳答案
你可以使用 Array.reduce因此你只遍历数组的长度一次。
const daily = [
{ event_date: "2019-10-18", listener: 3 },
{ event_date: "2019-10-19", listener: 3 },
{ event_date: "2019-10-20", listener: 1 }
];
const { dailyLabels, dailyData } = daily.reduce(
(result, { event_date, listener }) => {
result.dailyLabels.push(event_date);
result.dailyData.push(listener);
return result;
},
{ dailyLabels: [], dailyData: [] }
);
console.log(dailyLabels);
console.log(dailyData);
关于javascript - 这是将一个数组拆分为 2 个数组的最有效方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58561067/