gpt4 book ai didi

javascript - 如何根据属性值所包含的内容拆分数组的条目?

转载 作者:太空宇宙 更新时间:2023-11-04 03:21:28 25 4
gpt4 key购买 nike

我有一个数组,如下面代码部分中发布的那样。我想要实现的是,以这样的方式处理该数组,它应该分为基于属性“value”的值的四个不同的数组。因此,对于该 mainArray 中具有相同属性“value”值的所有条目,它们应该被插入一个新数组中。

JavaScript 中是否有任何方法或途径可以有效地完成该任务?

代码:

mainArray = 
[ { key: '2', value: -20 },
{ key: '3', value: 0 },
{ key: '1', value: 10 },
{ key: '5', value: 10 },
{ key: '7', value: 10 },
{ key: '4', value: 40 },
{ key: '6', value: 40 },
{ key: '8', value: 40 } ]

代码 2:

[ { key: '2', value: -20 }] //array1

[{ key: '3', value: 0 }] //array2

[{ key: '1', value: 10 }, //array3
{ key: '5', value: 10 },
{ key: '7', value: 10 }]

[{ key: '4', value: 40 }, //array4
{ key: '6', value: 40 },
{ key: '8', value: 40 }]

最佳答案

试试这个,

var a = 
[ { key: '2', value: -20 },
{ key: '3', value: 0 },
{ key: '1', value: 10 },
{ key: '5', value: 10 },
{ key: '7', value: 10 },
{ key: '4', value: 40 },
{ key: '6', value: 40 },
{ key: '8', value: 40 } ]

var result = Object.values(a.reduce((acc, val)=>{
if(acc[val.value]){
acc[val.value].push(val)
} else{
acc[val.value] = [val]
}
return acc
},{}))

console.log(result)

关于javascript - 如何根据属性值所包含的内容拆分数组的条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49635517/

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