美文网首页
总结几种数组去重的方法,敲一遍代码

总结几种数组去重的方法,敲一遍代码

作者: 殖民_FE | 来源:发表于2017-07-07 15:41 被阅读0次

这里总结集中数组去重的方法:自己动手敲一敲,精神一整天!
1.第一种方法:(我经常用的,好理解)

function arrAlong(arr) {
    for (var i = 0; i < arr.length; i++) {
        for (var j = i + 1; j < arr.length; j++) {
            if (arr[i] == arr[j]) {
                arr.splice(j, 1);
                j--;
            }
        }
    }
    return arr;
};

利用对数组的进行双重遍历,对数组的位置的数值进行比较,删除相同的元素,返回去重之后的数组!
2.第二种方法

function arrAlong(arr) {
    var ret = [];
    for (var i = 0, j = arr.length; i < j; i++) {
        if (ret.indexOf(arr[i]) === -1) {
            ret.push(arr[i]);
        }
    }
    return ret;
}

利用indexof的特性,进行操作!
3.第三种方法

function arrAlong(arr) {
    var ret = [];
    arr.forEach(function(e, i, arr) {
        if (arr.indexOf(e) === i) {
            ret.push(e);
        }
    });
    return ret;
}

数组下标判断法, 遍历数组,利用indexOf判断元素的返回值是否与当前索引相等,如相等则加入
4.第四中方法

function arrAlong(arr) {
    var tmp = {},
        ret = [];
    for (var i = 0, j = arr.length; i < j; i++) {
        if (!tmp[arr[i]]) {
            tmp[arr[i]] = 1;
            ret.push(arr[i]);
        }
    }
    return ret;
}

遍历数组,利用object对象保存数组值,判断数组值是否已经保存在object中,未保存则push到新数组并用object[arrayItem]=1的方式记录保存

相关文章

  • 总结几种数组去重的方法,敲一遍代码

    这里总结集中数组去重的方法:自己动手敲一敲,精神一整天!1.第一种方法:(我经常用的,好理解) 利用对数组的进行双...

  • 数组去重的几种方法

    数组去重的几种方法 ES6 Set去重(ES6常用) -不修改原数组 不考虑兼容性,这种去重的方法代码最少。这种方...

  • Array集结号

    实现数组去重的几种方法 数组去重一 数组去重二 利用数组indexof+push实现数组去重 数组去重三 利用对象...

  • 数组去重

    推荐几种数组去重的方法

  • 数组去重4种方法

    怎么把类数组转换为数组? 数组去重4几种方法:

  • 四种方法实现数组去重

    数组去重一般来说就这么几种方法,理解代码,记住就好!Map、Set、reduce、filter~map实现 set...

  • 5.18 总结

    1 数组去重 js数组去重的常用方法总结 2 定时器的返回值是定时器的编号 定时器的执行;(全部js代码执...

  • 数组去重几种方法

  • JavaScript数组去重(12种方法,史上最全)

    数组去重,一般都是在面试的时候才会碰到,一般是要求手写数组去重方法的代码。如果是被提问到,数组去重的方法有哪些?你...

  • JavaScript 数组去重

    数组去重,一般都是在面试的时候才会碰到,一般是要求手写数组去重方法的代码。如果是被提问到,数组去重的方法有哪些?你...

网友评论

      本文标题:总结几种数组去重的方法,敲一遍代码

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