gpt4 book ai didi

javascript - 如何将两个或第 n 个不同的列表项按顺序添加到新列表中?

转载 作者:行者123 更新时间:2023-12-02 21:19:42 24 4
gpt4 key购买 nike

问题是如何将两个n个不同的列表项添加到订单中?然后将它们添加到新列表中?

有人知道有没有更快的方法来实现这一目标?

谢谢。

let resultList = [];

const list = [
{
"item": "aaa"
},
{
"item": "ddd"
},
];

const list2 = [
{
"item": "bbb"
},
{
"item": "ccc"
}
];

const list3 = [
{
"item": "xxx"
},
{
"item": "yyy"
}
];
// expected
resultList = [
{
"item": "aaa"
},
{
"item": "bbb"
},
{
"item": "xxx"
},
{
"item": "ddd"
},
{
"item": "ccc"
},
{
"item": "yyy"
},
]

最佳答案

如果您can support新的 JavaScript 功能,例如 .flatMap() ,您可以将 list 中的每个对象映射到包含当前对象及其来自 list2 的关联对象的数组,如下所示:

const list = [{ "item": "aaa" }, { "item": "ddd" }]; 
const list2 = [ { "item": "bbb" }, { "item": "ccc" } ];

const res = list.flatMap((o, i) => [o, list2[i]]);
console.log(res);

这可以推广到多个列表:

const list = [{ "item": "aaa" }, { "item": "ddd" }]; 
const list2 = [ { "item": "bbb" }, { "item": "ccc" } ];
const list3 = [ { "item": "xxx" }, { "item": "yyy" } ];
const arr = [list, list2, list3];

const res = arr[0].flatMap((_, i) => arr.map(a => a[i]));
console.log(res);

关于javascript - 如何将两个或第 n 个不同的列表项按顺序添加到新列表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60879108/

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