gpt4 book ai didi

javascript - Lo-Dash 数组分组

转载 作者:可可西里 更新时间:2023-11-01 02:37:46 25 4
gpt4 key购买 nike

我现在在 Lo-Dash 文档站点上花了几个小时,但找不到解决我的问题的方法。不知道怎么叫,所以有点难找。我基本上想将一个数组分组到一个对象中,以便重复的条目是一个字段,而不同的条目是一个数组。

例如,我有这个数组:

var characters = [
{ 'name': 'barney', 'age': 42, 'pet': 'dog' },
{ 'name': 'fred', 'age': 35, 'pet': 'dog' },
{ 'name': 'barney', 'age': 42, 'pet': 'cat' },
{ 'name': 'fred', 'age': 35, 'pet': 'goldfish' }
];

我想得到这个:

[
{ name: 'barney',
age: 42,
pet: [ 'dog', 'cat' ] },
{ name: 'fred',
age: 35,
pet: [ 'dog', 'goldfish' ] }
]

有没有 Lo-Dash 方法可以做到这一点,还是我必须链接几个?实现这一目标的最佳方法是什么?

最佳答案

虽然回答了,还是试试看。 JSFIDDLE

var characters = [
{ 'name': 'barney', 'age': 42, 'pet': 'dog' },
{ 'name': 'fred', 'age': 35, 'pet': 'dog' },
{ 'name': 'barney', 'age': 42, 'pet': 'cat' },
{ 'name': 'fred', 'age': 35, 'pet': 'goldfish' }
];

var result=_.chain(characters).groupBy("name").map(function(v, i) {
return {
name: i,
age: _.get(_.find(v, 'age'), 'age'),
pet: _.map(v, 'pet')
}
}).value();

document.body.innerHTML = '<pre>' + JSON.stringify(result, null, ' ') + '</pre>';

关于javascript - Lo-Dash 数组分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24627026/

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