美文网首页
数组去重,计算数组重复元素的个数

数组去重,计算数组重复元素的个数

作者: 懵懵圈 | 来源:发表于2019-03-05 10:44 被阅读0次
var arr1 = ["苹果", "香蕉", "栗子", "芒果", "芒果"];
var arr2 = ["苹果", "香蕉", "葡萄"];
var arr = arr1.concat(arr2); //把两个数组合为一个数组
//计算数组中重复元素的个数
console.log(arr);
var _res = [];
arr.sort();
for (var i = 0; i < arr.length;) {
    var count = 0;
    for (var j = i; j < arr.length; j++) {
        if (arr[i] == arr[j]) {
            count++;
        }
    }
    _res.push({ name: arr[i], value: count });
    i += count;
}
console.log(_res);
// [

//    { name: "栗子", value: 1 },

//    { name: "芒果", value: 2 },

//    { name: "苹果", value: 2 },

//    { name: "葡萄", value: 1 },

//    { name: "香蕉", value: 2 }

// ]

var xAxisData = [];
var seriesData = [];
for (var i = 0; i < _res.length; i++) {
    xAxisData.push(_res[i].name);
    seriesData.push(_res[i].value);
}
console.log(xAxisData, seriesData); //["栗子", "芒果", "苹果", "葡萄", "香蕉"],[1, 2, 2, 1, 2]

//借助indexOf()方法判断此元素在该数组中首次出现的位置下标与循环的下标是否相等 (数组去重)
for (var i = 0; i < arr.length; i++) {

    if (arr.indexOf(arr[i]) != i) {

        arr.splice(i, 1); //删除数组元素后数组长度减1后面的元素前移

        i--; //数组下标回退

    }

}

//借助新数组 判断新数组中是否存在该元素如果不存在则将此元素添加到新数组中 (数组去重)
var newArr = [];
for (var i = 0; i < arr.length; i++) {
    if (newArr.indexOf(arr[i]) == -1) {
        newArr.push(arr[i]);
    }
}
console.log(newArr); //["栗子", "芒果", "苹果", "葡萄", "香蕉"]

//借助新数组 通过indexOf方判断当前元素在数组中的索引如果与循环的下标相等则添加到新数组中 (数组去重)
var ret = [];
for (var i = 0; i < arr.length; i++) {
    if (arr.indexOf(arr[i]) == i) {
        ret.push(arr[i]);
    }
}
console.log(ret); //["栗子", "芒果", "苹果", "葡萄", "香蕉"]
var times = 0;
var bubbleSort = function(arr) {
    for (var i = 0; i < arr.length - 1; i++) {
        for (var j = i + 1; j < arr.length; j++) {
            if (arr[i] > arr[j]) {
                var temp = arr[i];
                arr[i] = arr[j];
                arr[j] = temp;
            }
            console.log("第" + (++times) + "次排序后:" + arr);
        }
    }
    return arr;
}
var element = [1, 4, 2, 5, 2, 1, 6, 5, 77, 1];
console.log("The result is:" + bubbleSort(element));

相关文章

  • 数组去重,计算数组重复元素的个数

  • Javascript 数组去重

    数组去重 数组去重,一般需求是给你一个数组,调用去重方法,返回数值副本,副本中没有重复元素。一般来说,两个元素通过...

  • js 数组操作

    1 数组去重 通过set 没有重复元素去重 2 通过修改数组长度 删除元素 3 数组尾部追加元素 4 数组尾部移...

  • js数组去重查重

    数组去重 查找重复元素

  • 好玩的JS数组

    好玩的js数组 数组去重 数组是否相等 两个数组的交集 寻找两个数组的不同 在两个数组中的非共公元素 判断两个数组...

  • 数组:扁平化、去重、深拷贝

    数组扁平化 数组去重 1、ES6 Set 去重 利用对象的属性不会重复这一特性,校验数组元素是否重复 深拷贝

  • js reduce去重用法

    reduce不仅仅可以数据累加,还可以实现去重效果。 重复次数计算 数组去重 数组对象去重,转为数组 对象去重

  • 数组去重

    数组去重是将数组中重复的元素 一:Set对象 二:定义新数组,存放原来数组的一个元素,然后和剩下的比较,如果不同,...

  • 每日一道算法题 - 只出现一次数字

    问题 给定一个数组,只会存在一个不重复元素,其余都为重复元素。求不重复元素值。 思路 1)利用set自动去重,遍历...

  • 怎么用函数封装数组去重?

    数组去重, 意思就是把数组中重复的元素去掉 利用es5中的方法indexOf去重 indexOf()作用:判断某个...

网友评论

      本文标题:数组去重,计算数组重复元素的个数

      本文链接:https://www.haomeiwen.com/subject/qtknuqtx.html