我们知道JavaScript中的数组有个indexOf方法, 来查找元素第一次出现的位置, 所以我们可以利用这一点,来检查数组是否有重复元素, 我们可以对数组的方法进行一个扩展, 如下:
//检查数组是否有重复元素, 如果没有返回-1,有则返回重复元素的起始位置 Array.prototype.checkRepeat = function () { var index = -1; for (var i = 0; i < this.length; i++) { if (this.indexOf(this[i], i + 1) >= 0) { index = i; break; } } return index; }
调用示例:
var arr = [1, 2,3,4,5, 2, 22]; console.log(arr.checkRepeat()); //输出结果:1 (因为只有2有重复的,且2的初始位置是1)