首頁 >web前端 >js教程 >如何根據公共屬性對數組中的物件進行分組?

如何根據公共屬性對數組中的物件進行分組?

DDD
DDD原創
2024-12-23 00:35:26902瀏覽

How Can I Group Objects in an Array Based on a Common Property?

將物件分組

問題:

您有一個物件數組,其中每個物件都有一個“組”屬性。您想要將此數組轉換為一個新數組,其中相似的“組”屬性值分組在一起。

所需輸出:

myArray = [
  {group: "one", color: ["red", "green", "black"]},
  {group: "two", color: ["blue"]}
]

解:

  1. 建立群組名稱到空的對應陣列:
var group_to_values = {};
  1. 迭代輸入陣列:
myArray.forEach(function (item) {
    group_to_values[item.group] = group_to_values[item.group] || [];
});
var groups = [];
for (var key in group_to_values) {
    groups.push({group: key, color: group_to_values[key]})
}
對於映射中的每個鍵,使用群組名稱和陣列值:產生的群組數組將按「group」屬性進行分組。

以上是如何根據公共屬性對數組中的物件進行分組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn