gpt4 book ai didi

javascript - 如何将一个对象内部的值数组分组到另一个对象数组

转载 作者:行者123 更新时间:2023-12-01 01:12:26 24 4
gpt4 key购买 nike

我有一个带有值数组的对象

<小时/>

{firstName: ['John', 'Mike']}, lastName: ['Doe', 'Smith']},

<小时/>

现在我有一个带有数组的空对象

<小时/>

const newData = {}newData.ppl = []

<小时/>

如何在 ppl 数组中得到这样的结果: ppl = [{firstName: 'John', lastName: 'Doe'}, {firstName: 'Mike', lastName: '史密斯'}]

最佳答案

使用 Object.entries 快速实现, reduce ,和forEach :

const srcData = {
firstName: ['John', 'Mike'],
lastName: ['Doe', 'Smith']
};

const ppl = Object
.entries(srcData)
.reduce((acc, [key, values]) => {
values.forEach((val, i) => {
if (i >= acc.length) {
acc.push({});
}
acc[i][key] = val;
});
return acc;
}, []);

console.log(ppl);

说明:

  1. 使用Object.entries将对象转换为键值对数组。
  2. 使用 .reduce 迭代构建结果数组。
  3. 使用 .forEach 循环遍历从 (1) 获得的值数组,如果结果为空,则将空对象推送到数组 (push({}))数组不够长,无法容纳当前值数组中的所有项目

关于javascript - 如何将一个对象内部的值数组分组到另一个对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55053381/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com