扫码关注官方订阅号
就是有一个数组,例如var numArr = ["A", "C", "B", "A", "C", "D", "A", "C"],如何筛选出相同的元素,还有相同元素的个数
var numArr = ["A", "C", "B", "A", "C", "D", "A", "C"]
走同样的路,发现不同的人生
简单的循环不就出来了
["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}
是这种效果么?选出重复(出现次数大于等于2)的元素并统计每个重复元素出现的次数?
function checkArray(para, arr) { let processArr = arr.filter(function(value) { return value == para; }); return processArr.length; // 这里返回数组长度或者相应处理 } console.log(checkArray(1, numArr));
可以用 Map
["1", "2", 2, 0, -0, NaN, NaN, [], [], {}, {}, undefined, , , null].reduce((m, k) => { return m.set(k, (m.get(k) || 0) + 1); }, new Map());
遵循以下规则:
NaN = NaN
+0 = -0
"1" != 1
{} != {}
[] != []
undefined != null
空元素不计
var obj={},arr=["A", "C", "B", "A", "C", "D", "A", "C","B"] //for for(var i=0,len=arr.length;i<len;i++){ if(obj[arr[i]]){ obj[arr[i]]++ } else{ obj[arr[i]]=1 } } //forEach arr.forEach(function(item,i){obj[arr[i]]?obj[arr[i]]++:obj[arr[i]]=1})
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
简单的循环不就出来了
是这种效果么?选出重复(出现次数大于等于2)的元素并统计每个重复元素出现的次数?
可以用 Map
遵循以下规则:
NaN = NaN
+0 = -0
"1" != 1
{} != {}
[] != []
undefined != null
空元素不计