將陣列項目分組為物件
您的任務是將物件陣列轉換為包含分組物件的新數組,其中數值將每組個組組合成一個陣列。以下是解決此問題的方法:
var myArray = [ {group: "one", color: "red"}, {group: "two", color: "blue"}, {group: "one", color: "green"}, {group: "one", color: "black"} ];
// Create a mapping of group names to arrays of values var group_to_values = myArray.reduce(function (obj, item) { obj[item.group] = obj[item.group] || []; obj[item.group].push(item.color); return obj; }, {});
// Convert the mapping to an array of grouped objects var groups = Object.keys(group_to_values).map(function (key) { return {group: key, color: group_to_values[key]}; });
產生的群組數組將是:
[ {group: "one", color: ["red", "green", "black"]}, {group: "two", color: ["blue"]} ]
此方法利用減少和映射數組方法來有效地將資料分組和轉換。
以上是如何在 JavaScript 中將陣列項目分組為物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!