以下是一种通过按照相同对象键重新排列数组的解决方法的 JavaScript 代码示例:
// 示例输入数组
const arr = [
{ id: 1, name: 'John' },
{ id: 2, name: 'Jane' },
{ id: 1, name: 'Alice' },
{ id: 3, name: 'Bob' },
{ id: 2, name: 'Kate' }
];
// 创建一个空对象来存储重新排列后的数组
const rearrangedObj = {};
// 遍历输入数组
arr.forEach(item => {
// 检查当前对象键是否已经存在于重新排列对象中
if (!rearrangedObj[item.id]) {
// 如果不存在,创建一个数组并将当前对象添加到该数组中
rearrangedObj[item.id] = [item];
} else {
// 如果已存在,将当前对象添加到已存在的数组中
rearrangedObj[item.id].push(item);
}
});
// 将重新排列对象转换为数组形式
const rearrangedArr = Object.values(rearrangedObj);
console.log(rearrangedArr);
这段代码将会输出以下结果:
[
[
{ id: 1, name: 'John' },
{ id: 1, name: 'Alice' }
],
[
{ id: 2, name: 'Jane' },
{ id: 2, name: 'Kate' }
],
[
{ id: 3, name: 'Bob' }
]
]
输出结果是一个数组,其中每个元素都是具有相同对象键值的原始对象的数组。在上面的示例中,id
属性用作对象键来重新排列数组。
上一篇:按相同的键和值合并对象数组
下一篇:按相同方式对2个数组进行排序