javascript - 如何獲取一個數(shù)組中的相同元素的個數(shù)
問題描述
就是有一個數(shù)組,例如var numArr = ['A', 'C', 'B', 'A', 'C', 'D', 'A', 'C'],如何篩選出相同的元素,還有相同元素的個數(shù)
問題解答
回答1:簡單的循環(huán)不就出來了
回答2:['A', 'C', 'B', 'A', 'C', 'D', 'A', 'C','B'].reduce((r,v)=>{ r[0].has(v)?r[1][v]?r[1][v]++:r[1][v]=2:r[0].add(v); return r;},[new Set,{}])[1]// {A: 3, C: 3, B: 2}
是這種效果么?選出重復(fù)(出現(xiàn)次數(shù)大于等于2)的元素并統(tǒng)計(jì)每個重復(fù)元素出現(xiàn)的次數(shù)?
回答3:function checkArray(para, arr) { let processArr = arr.filter(function(value) {return value == para; }); return processArr.length; // 這里返回?cái)?shù)組長度或者相應(yīng)處理}console.log(checkArray(1, numArr));回答4:
可以用 Map
['1', '2', 2, 0, -0, NaN, NaN, [], [], {}, {}, undefined, , , null].reduce((m, k) => { return m.set(k, (m.get(k) || 0) + 1);}, new Map());
遵循以下規(guī)則:
NaN = NaN
+0 = -0
'1' != 1
{} != {}
[] != []
undefined != null
空元素不計(jì)
var obj={},arr=['A', 'C', 'B', 'A', 'C', 'D', 'A', 'C','B']//forfor(var i=0,len=arr.length;i<len;i++){ if(obj[arr[i]]){obj[arr[i]]++ } else{ obj[arr[i]]=1 }}//forEacharr.forEach(function(item,i){obj[arr[i]]?obj[arr[i]]++:obj[arr[i]]=1})
相關(guān)文章:
1. 請問寫好python模塊以后,文檔怎么寫?2. mysql - 在下剛?cè)腴Tsql 關(guān)于sql的語法詢問3. angular.js - 在終端中用yeoman啟用angular-generator報錯,求解?4. html5 - 最近在自學(xué)react 求一個react表單提交的例子5. 初來乍到,相對路徑問題,新手求教6. javascript - 原生JS和jQuety關(guān)于設(shè)置圖片輪播定時器問題7. 老師您好!我有一個問題、8. java - 新人有一個問題想問問大家,weex怎么動態(tài)修改控件高度9. list - python 求助10. javascript - jq 上傳圖片成功后添加一個新的上傳框時出現(xiàn)問題
