给定一个数组,将数组中重复的元素删除,得到新的数组
方法一
思路:把arr里的值用遍历拿出,去newArr中查看是否有这个值
注:indexOf方法,用于查找某个元素首次出现的位置(索引值)找不到返回-1 找到返回索引值
let arr = [23, 66, 1, 23, 66, 1, 7, 3, 9, 0, 7, 3, 9, 0];
let newArr = [];
for (let i = 0; i < arr.length; i++) {
if (newArr.indexOf(arr[i]) === -1) {
newArr.push(arr[i]);
}
}
console.log(newArr);
方法二
思路:外层循环先找出一个数据,内层循环开始进行查重,定义一个变量isRepeat,如果isRepeat为false代表没有重复,我们就可以把当前数据,添加到新数组中,如果当前数据和内层循环数据有重复,isRepeat变成true,则程序return,继续遍历
let arr = [1, 3, 5, 6, 7, 3, 5, 7, 2, 4, 2];
let arr_new = [];
for (let i = 0; i < arr.length; i++) {
let isRepeat = false;
for (let j = i + 1; j < arr.length; j++) {
if (arr[i] === arr[j]) {
isRepeat = true;
break;
}
}
if (isRepeat === false) {
arr_new.push(arr[i]);
}
}
console.log(arr_new);