使用物件對陣列項目進行分組
處理包含物件的陣列時,根據公共屬性對項目進行分組可能很有用。這可以透過建立群組名稱到關聯值的對應來實現。
假設您有一個如下所示的數組:
myArray = [ {group: "one", color: "red"}, {group: "two", color: "blue"}, {group: "one", color: "green"}, {group: "one", color: "black"} ]
您希望將其轉換為新數組,其中項目按「group」屬性分組:
myArray = [ {group: "one", color: ["red", "green", "black"]}, {group: "two", color: ["blue"]} ]
要實現此目的,您可以使用以下內容步驟:
這裡是一個範例 JavaScript實作:
var myArray = [ {group: "one", color: "red"}, {group: "two", color: "blue"}, {group: "one", color: "green"}, {group: "one", color: "black"} ]; var group_to_values = myArray.reduce(function (obj, item) { obj[item.group] = obj[item.group] || []; obj[item.group].push(item.color); return obj; }, {}); var groups = Object.keys(group_to_values).map(function (key) { return {group: key, color: group_to_values[key]}; });
執行後,此程式碼會產生所需的分組陣列:
groups: { "one": [ "red", "green", "black" ], "two": [ "blue" ] }
以上是如何在 JavaScript 中以公共屬性對數組項目進行分組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!