gpt4 book ai didi

javascript - 如何像这样对对象数组进行分组?并删除重复项?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:57:17 26 4
gpt4 key购买 nike

我正在编写一小段具有数组的 JS 代码:

[
{ title: 'title1', id: 1 },
{ title: 'title1', id: 2 },
{ title: 'title2', id: 3},
{ title: 'title2', id: 4}
]

不过我需要这样的东西:

"queried": {
"title1": [1, 2],
"title2": [3, 4],
}

我正在尝试使用 Lodash 和 _.groupBy(array, "title") 来做到这一点,但我得到:

{ 
title1:[
{ title: 'title1', id: 1 },
{ title: 'title1', id: 2 }
],
title2:[
{ title: 'title2', id: 3 },
{ title: 'title2', id: 4 }
],
}

请问如何解决?

最佳答案

使用_.mapValues()迭代组,_.map()提取 id 的值:

const lol = [{"title":"title1","id":1},{"title":"title1","id":2},{"title":"title2","id":3},{"title":"title2","id":4}];

const result = _.mapValues(
_.groupBy(lol, 'title'),
v => _.map(v, 'id')
);

console.log(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.min.js"></script>

关于javascript - 如何像这样对对象数组进行分组?并删除重复项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52691967/

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