方法一:
//定义测试的数组(1个没有重复元素,1个有重复元素)var arr1 = new Array("111","333","222","444");var arr2 = new Array("aa","cc","bb","dd","bb")function checkSameElement (checkarr) {let flag = falselet 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 falseconsole.log('res2',res2) // res2 true
方法二:
// 验证重复元素,有重复返回大于-1的值;否则返回-1var 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 -1console.log('res2',res2) // res2 5