JS數(shù)組實(shí)現(xiàn)分類統(tǒng)計(jì)實(shí)例代碼
將水果數(shù)組中同類的水果合并為一條并求出總數(shù)
var fruits = [{ name: 'apple', value: 1 }, { name: 'apple', value: 2 }, // 總計(jì)3個(gè)蘋果 { name: 'banana', value: 2 }, { name: 'banana', value: 3 }]; // 總計(jì)5個(gè)香蕉 var fruitTotal = []; // 存最終數(shù)據(jù)結(jié)果 // 數(shù)據(jù)按照水果名稱進(jìn)行歸類 var nameContainer = {}; // 針對(duì)鍵name進(jìn)行歸類的容器 fruits.forEach(item => { nameContainer[item.name] = nameContainer[item.name] || []; nameContainer[item.name].push(item); }); console.log(nameContainer); // 按照水果名稱歸類完成:{ apple: Array(2), banana: Array(2) } // 統(tǒng)計(jì)不同種類水果的數(shù)量 var fruitName = Object.keys(nameContainer); // 獲取水果種類:["apple", "banana"] fruitName.forEach(nameItem => { let count = 0; nameContainer[nameItem].forEach(item => { count += item.value; // 遍歷每種水果中包含的條目計(jì)算總數(shù) }); fruitTotal.push({'name': nameItem, 'total': count}); }); console.log(fruitTotal); // 輸出結(jié)果: // [{ name: "apple", total: 3 }, // { name: "banana", total: 5 }]
總結(jié)
以上所述是小編給大家介紹的JS數(shù)組實(shí)現(xiàn)分類統(tǒng)計(jì)實(shí)例代碼,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
javascript dragable的Move對(duì)象
一個(gè)dragable的Move對(duì)象,大家可以運(yùn)行下,測(cè)試看下效果。2009-08-08JavaScript中Array.from()的用法總結(jié)
本文主要介紹了JavaScript中Array.from()的用法總結(jié)2023-05-05原生js實(shí)現(xiàn)移動(dòng)端觸摸輪播的示例代碼
下面小編就為大家分享一篇原生js實(shí)現(xiàn)移動(dòng)端觸摸輪播的示例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2017-12-12JS Pro-深入面向?qū)ο蟮某绦蛟O(shè)計(jì)之繼承的詳解
一般的面向?qū)ο蟪绦蛘Z(yǔ)言,有兩種繼承方法——接口繼承(interface inheritance)和實(shí)現(xiàn)繼承(implementation inheritance)。接口繼承只繼承方法簽名,而實(shí)現(xiàn)繼承則繼承實(shí)際的方法。在JavaScript中,函數(shù)沒有簽名,所以在JavaScript只支持實(shí)現(xiàn)繼承,而且主要是依靠原型鏈(prototype chaining)來是實(shí)現(xiàn)的2013-05-05ajax 同步請(qǐng)求和異步請(qǐng)求的差異分析
ajax 同步請(qǐng)求和異步請(qǐng)求的差異分析,需要的朋友可以參考下。2011-07-07深入理解typescript中的infer關(guān)鍵字的使用
infer 這個(gè)關(guān)鍵字,整理記錄一下,避免后面忘記了。具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-06-06一文搞懂TypeScript的安裝、使用、自動(dòng)編譯的教程
TypeScript 是一種由微軟開發(fā)的開源、跨平臺(tái)的編程語(yǔ)言。它是 JavaScript 的超集,最終會(huì)被編譯為 JavaScript 代碼,關(guān)于TypeScript的安裝、使用、自動(dòng)編譯很多朋友不是很清楚,今天抽空給大家普及下,感興趣的朋友一起看看吧2021-06-06Blob對(duì)象實(shí)現(xiàn)文件上傳下載示例詳解
這篇文章主要為大家介紹了Blob對(duì)象實(shí)現(xiàn)文件上傳下載示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01