我正在 AngularJS (1) 上开发一个应用程序,但我不知道如何按项目拆分另一个数组中的项目数组。
我的意思是我有一系列不同的项目,我会按 uuid 对项目进行分组,如下所示:
[
{"name": "toto", "uuid": 1111},
{"name": "tata", "uuid": 2222},
{"name": "titi", "uuid": 1111}
];
将是:
[
[
{"name": "toto", "uuid": 1111},
{"name": "titi", "uuid": 1111}
],
[
{"name": "tata", "uuid": 2222}
]
];
我已经在 forEach 函数上尝试了循环和循环,但如果我的数组很长,它就会很长
您可以使用哈希表并将对象收集到哈希表的数组中。
var array = [{ name: "toto", uuid: 1111 }, { name: "tata", uuid: 2222 }, { name: "titi", uuid: 1111 }],
hash = Object.create(null),
result = [];
array.forEach(function (a) {
if (!hash[a.uuid]) {
hash[a.uuid] = [];
result.push(hash[a.uuid]);
}
hash[a.uuid].push(a);
});
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)