將水果數組中同類的水果合并為一條并求出總數
var fruits = [{ name: 'apple', value: 1}, { name: 'apple', value: 2}, // 總計3個蘋果{ name: 'banana', value: 2}, { name: 'banana', value: 3}]; // 總計5個香蕉var fruitTotal = []; // 存最終數據結果// 數據按照水果名稱進行歸類var nameContainer = {}; // 針對鍵name進行歸類的容器fruits.forEach(item => { nameContainer[item.name] = nameContainer[item.name] || []; nameContainer[item.name].push(item);});console.log(nameContainer); // 按照水果名稱歸類完成:{ apple: Array(2), banana: Array(2) }// 統計不同種類水果的數量var fruitName = Object.keys(nameContainer); // 獲取水果種類:["apple", "banana"]fruitName.forEach(nameItem => { let count = 0; nameContainer[nameItem].forEach(item => { count += item.value; // 遍歷每種水果中包含的條目計算總數 }); fruitTotal.push({'name': nameItem, 'total': count});});console.log(fruitTotal);// 輸出結果:// [{ name: "apple", total: 3 },// { name: "banana", total: 5 }]
總結
以上所述是小編給大家介紹的JS數組實現分類統計實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!
新聞熱點
疑難解答