美文网首页
js去重的3种方法

js去重的3种方法

作者: 谢小逸 | 来源:发表于2017-06-14 16:45 被阅读0次

方法一

思路:

1.构建一个新的数组存放结果

2.for循环原数组取出每一个元素,与结果数据做对比

3.若结果数组没有该元素,则存放在该数组中

Array.prototype.unique1=function(){
    var res=[];
    for (var i =0; i < this.length; i++) {
        if(res.indexOf(this[i])==-1){
            res.push(this[i])
        }
    }
    return res;

}
    var arr = [112, 112, 34, '你好', 112, 112, 34, '你好', 'str', 'str1'];
    alert(arr.unique1());

方法二

思路:

1.先将原数组进行排序

2.检查原数组中的第i个元素与结果数组中的最后一个元素是否相同

3.如果不相同,则将该元素存入结果数组中

    Array.prototype.unique2 = function() {
        this.sort(); //先排序
        var res = [this[0]];
        for (var i = 1; i < this.length; i++) {
            if (this[i] !== res[res.length - 1]) {
                res.push(this[i]);
            }
        }
        return res;
    }
    var arr = [112, 112, 34, '你好', 112, 112, 34, '你好', 'str', 'str1'];
    alert(arr.unique2());

方法三

思路:

1.创建一个新的数组存放结果

2.创建一个空对象

3.for循环时,每次取出一个元素与对象进行对比,如果这个元素不重复,则把它存放到结果数组中,同时把这个元素的内容作为对象的一个属性,并赋值为1,存入到第2步建立的对象中

    Array.prototype.unique3 = function() {
        var res = [];
        var json = {};
        for (var i = 0; i < this.length; i++) {
            if (!json[this[i]]) {
                res.push(this[i]);
                json[this[i]] = 1;
            }

        }
        return res;
    }
    var arr = [112, 112, 34, '你好', 112, 112, 34, '你好', 'str', 'str1'];
    alert(arr.unique1());

相关文章

  • js去重的3种方法

    方法一 思路: 1.构建一个新的数组存放结果 2.for循环原数组取出每一个元素,与结果数据做对比 3.若结果数组...

  • JS数组去重(3种方法)

    1.创建新数组,利用indexOf去重(IE8以下不支持) 2.ES6中利用Set去重 3.对象去重法 原文作者:...

  • js 去重的 几种方法

    1、通过对数组排序,然后进行去重处理 2、通过建立新数组,进行排序

  • JS数组去重常见方法分析

    数组去重是开发中经常会遇到的问题,也是面试时经常会考到的。JS实现数组去重可以有多种方法: 一、简单的去重方法 用...

  • js数组去重的N种方法

    对于数组去重我们有n种方法可以实现。 es5实现方法for循环+indexOf function unique(...

  • js数组去重的几种方法

  • js数组去重的几种方法

    思路一: 构建一个新的数组存放结果 for循环中每次从原数组中取出一个元素,用这个元素循环与结果数组对比 若结果数...

  • js数组去重的几种方法

    js去重的几种方法: 1.使用indexOf()方法---[a.检查当前数组是否存在;b.比较数组的下标---(借...

  • js数组去重的几种方法

    1. zepto实现数组去重的方法: 判断元素在数组中首次出现的位置,是否等于它在数组中的位置。 2. 利用ES6...

  • js数组去重的几种方法。

    在项目中偶尔会用到数组,通过原生js去除数组的重复项。简单的记下几种方法,亲测可用。。 第一种方法: 第一种方法是...

网友评论

      本文标题:js去重的3种方法

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