判断数组是否有重复,数组去重的简单方法

1.判断数组是否有重复,并返回重复的index


var ary = new Array("1", "11", "33", "33");

    for (var i = ary.length-1; i >= 0; i--) {

        if (ary.indexOf(ary[i]) != ary.lastIndexOf(ary[i])) {

            console.log("下标为:"+i);

            console.log("数组中有重复元素:" + ary[i]);

        }

    }

indexOf是从前向后查询的index,lastIndexOf是从后向前查询的index,但是二者返回索引都是从前开始数数和计算的。

当有重复的时候两个值会不相等。

2.es6判断数组是否重复,不需要index的时候可以这样做

var arr=[1,2,3,4,5,2,3];

if((newSet(arr)).size!=arr.length){

alert("数组有重复值")

}

3.es6数组去重方法


function dedupe(array){

return Array.from(newSet(array));

}

和上面很相似,newSet可以去重,from把set转成数组类型。

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

推荐阅读更多精彩内容