JavaScript Object.groupBy()
- 上一頁 getOwnPropertyNames()
- 下一頁 isExtensible()
- 返回上一層 JavaScript 對象參考手冊
定義和用法
Object.groupBy()
方法根據回調函數返回的字符串值對對象的元素進行分組。
Object.groupBy()
方法不會改變原始對象。
注意
原始對象和返回對象中的元素是相同的。
對任一對象的更改都會反映在另一個對象中。
Object.groupBy() 與 Map.groupBy() 的區別
Object.groupBy()
和 Map.groupBy()
的區別在于:
Object.groupBy()
將元素分組到一個 JavaScript 對象中。
Map.groupBy()
將元素分組到一個 Map 對象中。
實例
// 創建一個數組 const fruits = [ {name: "apples", quantity: 300}, {name: "bananas", quantity: 500}, {name: "oranges", quantity: 200}, {name: "kiwi", quantity: 150} ]; // 用于分組元素的回調函數 function myCallback({ quantity }) { return quantity > 200 ? "ok" : "low"; } // 根據數量分組 const result = Object.groupBy(fruits, myCallback);
語法
Object.groupBy(iterable, callback)
參數
參數 | 描述 |
---|---|
iterable | 必需。可迭代的數組或 Map。 |
callback |
必需。為每個元素執行的函數。 該函數應返回元素的分組名稱。 |
返回值
類型 | 描述 |
---|---|
Iterator | 包含分組元素的可迭代對象。 |
瀏覽器支持
Object.groupBy()
是 ES2024 的特性。
自 2024 年 3 月起,所有現代瀏覽器均完全支持:
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 117 | Edge 117 | Firefox 119 | Safari 17.4 | Opera 103 |
2023 年 9 月 | 2023 年 9 月 | 2023 年 10 月 | 2024 年 10 月 | 2023 年 5 月 |
- 上一頁 getOwnPropertyNames()
- 下一頁 isExtensible()
- 返回上一層 JavaScript 對象參考手冊