let obj = {}, result = [], num = 0; array.map(item => { let type = typeof (item); obj[type] = (obj[type] || 0) + 1 num = Math.max(obj[type], num) }) for (let key in obj) { result = obj[key] == num ? [...result, key] : result } return [...result, num]
代码并不复杂,原理是【对象key的唯一性】
将类型值作为对象的key,然后将出现的次数作为对象的value
最后统计出现次数最多的key就可以了