var arr = [5,2, 2,2, 5, 2,2, 4, 6, 4, 6, 8,6]
var res = []; // 接收的新数组
// 把数组arr重新排序--从小到大
arr.sort(function(a,b){return a - b});
// [2, 2, 2, 2, 2, 4, 4, 5, 5, 6, 6, 8]
for (var i = 0; i < arr.length;) { // 遍历数组arr [注] 此时没有 i++
var count = 0; // 计数器
for(var j = i; j < arr.length; j++){ // 再次遍历arr
if(arr[i] == arr[j]){
// 数组中有相等的 计算器就+1
count++;
}
}
// push 到 res 数组里面 ,得到 res 为二维数组
res.push([arr[i],count]);
i += count; // 相同的值计算完次数后,从 arr 中第 i 个值开始下一次遍历
}
// 创建新的数组
var newArr = [];
// 遍历上面已经得到的二维数组
for (var i = 0; i < res.length; i++) {
// 输出二维数组
console.log(res[i][0] + '出现次数' + res[i][1]);
newArr.push(res[i][0] + 'x' + res[i][1]);
}
打印数组中值相等的值和数量——二维数组
最新推荐文章于 2024-07-22 15:13:59 发布