gpt4 book ai didi

javascript - 按键名称合并数组对象

转载 作者:行者123 更新时间:2023-11-28 14:10:24 25 4
gpt4 key购买 nike

我想转动这种数组:

let myArray = [
{ even: [2,4,6], odd: [1,3,5,7], decimals: [3.14, 12.8] },
{ even: [4,6,8], odd: [7,9,11,13], decimals: [111.1] },
{ even: [16,18], odd: [15,15,17] }
]

进入:

myArray = [
{ even: [2,4,6,4,6,8,16,18] },
{ odd: [1,3,5,7,7,9,11,13,15,15,17] },
{ decimals: [3.14, 12.8, 111.1] },
]

也许我应该使用“reduce”,但我根本不熟悉该功能。如果有人能告诉我正确的道路

最佳答案

也许我可以给你一个更简短、更聪明的答案:

myArray.reduce((acc, obj = {}) => ({
even: [...acc.even, ...(obj.even || [])],
odd: [...acc.odd, ...(obj.odd || [])],
decimals: [...acc.decimals, ...(obj.decimals || [])],
}), { even: [], odd: [], decimals: []})

Reduce 非常强大,您可以在许多用例中使用:当您想要在同一个数组上使用 .filter().map() 时,您可以可以通过一次 .reduce() 调用对其进行优化。

在动画中查看.reduce():https://twitter.com/jacobmparis/status/1213887721799913479

顺便说一句:此解决方案使用对象作为输出而不是数组

关于javascript - 按键名称合并数组对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59791001/

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