方法一:
//定义测试的数组(1个没有重复元素,1个有重复元素)
var arr1 = new Array("111","333","222","444");
var arr2 = new Array("aa","cc","bb","dd","bb")
function checkSameElement (checkarr) {
let flag = false
let spaceArr = []
checkarr.forEach(ele => {
spaceArr.push(ele)
})
if (Array.from(new Set(spaceArr)).length < spaceArr.length) {
flag = true
}
return flag
}
const res1 = checkSameElement(arr1)
const res2 = checkSameElement(arr2)
console.log('res1',res1) // res1 false
console.log('res2',res2) // res2 true
方法二:
// 验证重复元素,有重复返回大于-1的值;否则返回-1
var arr1 = new Array("111","333","222","444");
var arr2 = new Array("aa","cc","bb","dd","bb")
function isRepeat (arr) {
let hash = {};
for (let i in arr) {
if (hash[arr[i]]) {
return ++i;
}
// 不存在该元素,则赋值为true,可以赋任意值,相应的修改if判断条件即可
hash[arr[i]] = true;
}
return -1;
}
const res1 = isRepeat(arr1)
const res2 = isRepeat(arr2)
console.log('res1',res1) // res1 -1
console.log('res2',res2) // res2 5