JavaScript Object.groupBy()

Định nghĩa và cách sử dụng

Object.groupBy() Phương pháp này nhóm các phần tử của đối tượng dựa trên giá trị chuỗi trả về bởi hàm gọi lại.

Object.groupBy() Phương pháp này sẽ không thay đổi đối tượng gốc.

Lưu ý

Các phần tử trong đối tượng gốc và đối tượng trả về là giống nhau.

Mọi thay đổi đối với bất kỳ đối tượng nào sẽ phản ánh trong đối tượng khác.

Sự khác biệt giữa Object.groupBy() và Map.groupBy()

Object.groupBy()Map.groupBy() Sự khác biệt ở chỗ:

Object.groupBy() Nhóm các phần tử vào một đối tượng JavaScript.

Map.groupBy() Nhóm các phần tử vào một đối tượng Map.

thực thể

// Tạo một mảng
const fruits = [
  {name: "apples", quantity: 300},
  {name: "bananas", quantity: 500},
  {name: "oranges", quantity: 200},
  {name: "kiwi", quantity: 150}
];
// Hàm gọi lại để nhóm phần tử
function myCallback({ quantity }) {
  return quantity > 200 ? "ok" : "low";
}
// Nhóm theo số lượng
const result = Object.groupBy(fruits, myCallback);

Thử ngay

Cú pháp

Object.groupBy(iterable, callback)

Tham số

Tham số Mô tả
iterable Bắt buộc. Mảng hoặc Map có thể lặp lại.
callback

Bắt buộc. Hàm được thực hiện cho mỗi phần tử.

Hàm này nên trả về tên nhóm của phần tử.

Trả về giá trị

Loại Mô tả
Iterator Chứa các đối tượng có thể lặp lại chứa các phần tử nhóm.

Hỗ trợ trình duyệt

Object.groupBy() Là tính năng của ES2024.

Từ tháng 3 năm 2024, tất cả các trình duyệt hiện đại đều hỗ trợ hoàn toàn:

Chrome Edge Firefox Safari Opera
Chrome 117 Edge 117 Firefox 119 Safari 17.4 Opera 103
Tháng 9 năm 2023 Tháng 9 năm 2023 Tháng 10 năm 2023 Tháng 10 năm 2024 Tháng 5 năm 2023