比如 var arr = [1, 2, 3, 1, 5, 8, 2, 9, 9, 2, 2, 2, 3];
如何才能能夠算出,數(shù)組中有幾種值,以及某種值出現(xiàn)的次數(shù)呢?
比如這個題答案就是:
數(shù)組中出現(xiàn)的元素值為:1, 2, 3, 5, 8, 9這幾個。
其中1出現(xiàn)次數(shù)為2次,2出現(xiàn)次數(shù)為5次,3出現(xiàn)次數(shù)為2次,5出現(xiàn)次數(shù)為1次,8出現(xiàn)次數(shù)為1次,9出現(xiàn)次數(shù)為2次。
各位大佬有什么思路嗎?
如果您有思路,可以給小弟來個評論,實現(xiàn)方法多多益善~~~
1 回答

慕斯709654
TA貢獻1840條經(jīng)驗 獲得超5個贊
第一種 obj 記錄出現(xiàn)次數(shù)
var obj = {};for(var i=0;i<arr.length;i++) obj[arr[i]] = !obj[arr[i]]?1:++obj[arr[i]];
第二種 indexOf
var cache=[],obj={}; for(var i=0;i<arr.length;i++) cache.indexOf(arr[i])==-1?(obj[arr[i]]=1,cache.push(arr[i])):obj[arr[i]]++
第三種 正則查找
var obj = {},idx=[];for(var i=0,str = arr.join(',');i<arr.length;i++) !obj[arr[i]]&&(patch(arr[i],str),obj[arr[i]]=1);function patch(re,s){ re=new RegExp(re,"ig"); idx.push(s.match(re).length); }
添加回答
舉報
0/150
提交
取消