gpt4 book ai didi

javascript - 使用 javascript 根据一个公共(public)属性对多个数组进行分组

转载 作者:行者123 更新时间:2023-11-28 04:35:26 26 4
gpt4 key购买 nike

我有多个数组,其中包含具有不同属性的人。类似的东西

r[0] = {name: "john", phone: 123, industry: "food" }
r[1] = {name: "moe", phone: 333, industry: "feed"}
r[2] = {name: "mark", phone: 222, industry: "food"}
r[i] = ...

如何使用 javascript 循环遍历这个数组,然后将结果作为数组公共(public)属性(比如说行业)进行排序,这样结果就会像

food[["john", 123],["mark", 222]] 

feed[["mark", 333]]

现在我可以得到如下结果

food[["john", 123]]

feed[["moe", 333]]

food[["mark", 222]]

最佳答案

您可以使用一个对象来收集所有行业分组项目并迭代给定的键并使用原始数组中的数据进行输出。

var array = [{ name: 'john', phone: 123, industry: 'food' }, { name: 'moe', phone: 333, industry: 'feed' }, { name: 'mark', phone: 222, industry: 'food' }],
groups = {};

array.forEach(function (a) {
groups[a.industry] = (groups[a.industry] || []);
groups[a.industry].push(a);
});

Object.keys(groups).forEach(function (k) {
console.log(k);
groups[k].forEach(function (a) {
console.log([a.name, a.phone].join(', '));
});
});

关于javascript - 使用 javascript 根据一个公共(public)属性对多个数组进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44254467/

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