Để nhóm dữ liệu JSON, bạn cần trích xuất tất cả các khóa và sử dụng phương thức push(). Dưới đây là mã:
Ví dụ
var details = {
"1": { name: "John" },
"2": { name: "John" },
"3": { name: "David" }
};
var objectWithGroupByName = {};
for (var key in details) {
var name = details[key].name;
if (!objectWithGroupByName[name]) {
objectWithGroupByName[name] = [];
}
objectWithGroupByName[name].push(details[key]);
}
console.log(objectWithGroupByName);
Để chạy chương trình trên, bạn cần sử dụng lệnh sau:
node fileName.js
Kết quả
Tên tệp của tôi là demo122.js. Chương trình sẽ cho ra kết quả sau:
PS C:\Users\Amit\JavaScript-code> node demo122.js
{
John: [ { name: 'John' }, { name: 'John' } ],
David: [ { name: 'David' } ]
}