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转成数组类型。