下面我详细讲解下“JS判断数组中是否有重复值得三种实用方法”的完整攻略。
方法一:Set对象
利用Set对象可以去除数组中的重复元素,因此,先将原数组利用Set对象去重,然后比较去重后的数组长度和原数组长度即可判断原数组中是否有重复元素。
示例代码如下:
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 1];
let setArr = new Set(arr);
if (setArr.size !== arr.length) {
console.log('Array contains duplicates');
} else {
console.log('Array does not contain duplicates');
}
方法二:for循环嵌套
使用两个for循环嵌套,分别遍历数组中的每个元素,比较它们的值是否相等。如果在内部循环中找到了相同的元素,则说明原数组中存在重复元素。
示例代码如下:
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 1];
let flag = false;
for (let i = 0; i < arr.length - 1; i++) {
for (let j = i + 1; j < arr.length; j++) {
if (arr[i] === arr[j]) {
flag = true;
break;
}
}
if (flag) {
break;
}
}
if (flag) {
console.log('Array contains duplicates');
} else {
console.log('Array does not contain duplicates');
}
方法三:indexOf和lastIndexOf方法
利用数组的indexOf和lastIndexOf方法,分别查找当前元素第一次和最后一次出现的位置,如果这两个位置不相等,则说明该元素在数组中重复出现。
示例代码如下:
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 1];
let flag = false;
for (let i = 0; i < arr.length; i++) {
if (arr.indexOf(arr[i]) !== arr.lastIndexOf(arr[i])) {
flag = true;
break;
}
}
if (flag) {
console.log('Array contains duplicates');
} else {
console.log('Array does not contain duplicates');
}
以上三种方法可以较好的判断数组中是否有重复值,根据实际情况选择使用即可。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS判断数组中是否有重复值得三种实用方法 - Python技术站