JavaScript 数组去重并统计重复元素出现的次数
Posted 黄鹂
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript 数组去重并统计重复元素出现的次数相关的知识,希望对你有一定的参考价值。
方法一、
var arr = [1, 2, 3, 1, 2, 4]; function arrayCnt(arr) { var newArr = []; for(var i = 0; i < arr.length; i++) { if(newArr.indexOf(arr[i]) == -1) { newArr.push(arr[i]) } } var newarr2 = new Array(newArr.length); for(var t = 0; t < newarr2.length; t++) { newarr2[t] = 0; } for(var p = 0; p < newArr.length; p++) { for(var j = 0; j < arr.length; j++) { if(newArr[p] == arr[j]) { newarr2[p]++; } } } for(var m = 0; m < newArr.length; m++) { console.log(newArr[m] + "重复的次数为:" + newarr2[m]); } } arrayCnt(arr);
方法二、(es6方法去重)
var arr = [1, 2, 3, 1, 2, 4]; function arrayCnt(arr) { var newArr = []; //使用set进行数组去重 newArr = [...new Set(arr)]; var newarr2 = new Array(newArr.length); for(var t = 0; t < newarr2.length; t++) { newarr2[t] = 0; } for(var p = 0; p < newArr.length; p++) { for(var j = 0; j < arr.length; j++) { if(newArr[p] == arr[j]) { newarr2[p]++; } } } for(var m = 0; m < newArr.length; m++) { console.log(newArr[m] + "重复的次数为:" + newarr2[m]); } } arrayCnt(arr);
方法三、(利用对象key的唯一性)
//方法:使用obj记录重复的元素,以及出现的次数 function getCount(arr) { var obj = {}, k, arr1 = []; for(var i = 0, len = arr.length; i < len; i++) { k = arr[i]; if(obj[k]) obj[k]++; else obj[k] = 1; } console.log(obj) //保存结果{el-‘元素‘,count-出现次数} for(var o in obj) { arr1.push({ el: o, count: obj[o] }); } console.log(arr1); } getCount([4, 2, 2, 3, 1])
以上是关于JavaScript 数组去重并统计重复元素出现的次数的主要内容,如果未能解决你的问题,请参考以下文章