js 数组去重
十几种数组去重的方法,有的去重构思可以大致相同。
上篇的几种数组去重
https://blog.csdn.net/weixin_47988564/article/details/106482984
var arr = [1, 2, 3, 4, 5, 1, 2, 3, 4, 5];
var newArr = [];
for (let i = 0; i < arr.length; i++) {
if (newArr.indexOf(arr[i]) == -1) newArr.push(arr[i]);
}
for (let i = 0; i < arr.length; i++) {
if (!newArr.includes(arr[i])) newArr.push(arr[i]);
}
arr.forEach((v) => {
if (newArr.indexOf(v) == -1) newArr.push(v);
});
arr.forEach((v) => {
if (!newArr.includes(v)) newArr.push(v);
});
let res = arr.filter((v, i) => arr.indexOf(v) == i);
let res = Array.from(new Set(arr));
let obj = {
};
for (let i = 0; i < arr.length; i++) {
if (!obj[arr[i]]) {
newArr.push(arr[i]);
obj[arr[i]] = 1;
}
}
let obj = {
};
arr.forEach((v, i) => {
if (!obj[arr[i]]) {
newArr.push(v);
obj[arr[i]] = 1;
}
});
let res = arr.reduce((b, v) => {
if (b.indexOf(v) == -1) b.push(v);
return b;
}, []);
arr.forEach((v) => {
if (newArr.indexOf(v) == -1) newArr.push(v);
});
let res = arr.reduce((b, v) => {
if (!b.includes(v)) b.push(v);
return b;
}, []);
arr.forEach((v) => {
if (!newArr.includes(v)) newArr.push(v);
});
arr.sort();
for (let i = 0; i < arr.length; i++) {
if (arr[i] != arr[i - 1]) {
newArr.push(arr[i]);
}
}
arr.sort();
arr.forEach((v, i) => {
if (arr[i] !== arr[i - 1]) {
newArr.push(v);
}
});
for (let i = 0; i < arr.length; i++) {
for (let j = i + 1; j < arr.length; j++) {
if (arr[i] == arr[j]) {
arr.splice(j, 1);
j--;
}
}
}
console.log(newArr);
console.log(res);
console.log(arr);
let str = 'dgsadfdgfhksaghakjdjfak';
let newStr = '';
for (let i = 0; i < str.length; i++) {
if (newStr.indexOf(str[i]) == -1) {
newStr += str[i];
}
}
for (let i = 0; i < str.length; i++) {
if (newStr.search(str[i]) == -1) {
newStr += str[i];
}
}
let obj = {
};
for (let i = 0; i < str.length; i++) {
if (!obj[str[i]]) {
newStr += str[i];
obj[str[i]] = 1;
}
}
console.log(newStr);