记录一下自己工作中的一些方法,好记性不如烂笔头,之后工作用到可以随时翻出来,自己动手实现一遍,更能加深印象!
方法1.
function isUniqueArr(arrs) {
let arrToStr = arrs.join(",") + ",";
let arrLen = arrs.length;
for(let i = 0; i < arrlen; i++) {
//ps:替换为空,还能发现元素,证明有重复元素
if(arrToStr.replace(arrs[i] + ",", "").indexOf(arrs[i] + ",") > -1) {
console.log("数组中有重复元素:" + arrs[i]);
return false;
}
}
return true;
}
方法2.
let arrs = new Array("111", "22", "33", "111");
//ps:适合数值,字符串数值类型
function isUniqueArrSecond(arrs) {
let sortArrs = arrs.slice().sort();
let arrLen = sortArrs.length;
for(let i = 0; i < arrLen; i++) {
if(sortArrs[i] === sortArrs[i+1]) {
console.log("数组中有重复元素:" + arrs[i]);
return false;
}
}
return true
}
方法3.
function isUniqueArrThird(arrs) {
let hash = {};
let arrLen = arrs.length;
for(let i in arrs) {
if(hash[arrs[i]]) {
return false;
}
hash[arrs[i]] = true;
}
return true;
}