您的位置:首页技术文章
文章详情页

javascript - 如何获取一个数组中的相同元素的个数

【字号: 日期:2023-05-05 11:12:57浏览:62作者:猪猪

问题描述

就是有一个数组,例如var numArr = ['A', 'C', 'B', 'A', 'C', 'D', 'A', 'C'],如何筛选出相同的元素,还有相同元素的个数

问题解答

回答1:

简单的循环不就出来了

回答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}

是这种效果么?选出重复(出现次数大于等于2)的元素并统计每个重复元素出现的次数?

回答3:

function checkArray(para, arr) { let processArr = arr.filter(function(value) {return value == para; }); return processArr.length; // 这里返回数组长度或者相应处理}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());

遵循以下规则:

NaN = NaN

+0 = -0

'1' != 1

{} != {}

[] != []

undefined != null

空元素不计

javascript - 如何获取一个数组中的相同元素的个数

回答5:

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})

标签: JavaScript
相关文章: