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

这里总结集中数组去重的方法:自己动手敲一敲,精神一整天!
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的方式记录保存

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,272评论 0 4
  • java笔记第一天 == 和 equals ==比较的比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量...
    jmychou阅读 1,526评论 0 3
  • 我之前想,要创造一个绝对无敌的传说,能永远不会被打破,当然了,这也是句歌词。跟别的什么热血歌没什么别的不同,但这句...
    pppppan阅读 127评论 0 1
  • 早起就是好。天蒙蒙亮,也可以说朦朦黑,也就是半黑半明的天吧,透过窗子,我看到地上车上房顶上树叶上,总之我触目所及的...
    申振柱阅读 176评论 0 1
  • 而就物测物,莫知其纪,因化观化,莫名其度,必也由其本始,以追寻其源,而后可知其变者、化者、生者、育者。 看事物...
    蒙娜丽莎的喵阅读 623评论 0 0