js逻辑——数组去重
两种方法:
- 找到重复的成员,删除。
- 找到重复的成员,把非重复成员放在一个新的数组,新的数组最终没有重复成员
方法一:
var arr = [20, 15, "hello", 20, 45, true, 30, 30, 50, "hello", 0, 30, 50, "hello"];
function noRepeatArray(arr) {
for (var i = 0; i < array.length; i++) {
var item = array[i];
for (var j = i + 1; i < arr.length; j++) {
var item2 = arr[j];
if (item === item2) {
// 删除数组中的成员 .splice从指定位置开始截取,截取长度是1,则代表只把当前成员截取掉了
array.splice(j,1);
break; //跳出当前循环
}
}
}
return result;
}
var result = noRepeatArray(arry);
console.lolg(result)
方法二:
var arr = [20, 15, "hello", 20, 45, true, 30, 30, 50, "hello", 0, 30, 50, "hello"];
function noRepeatArray(arr) {
var result = []; //创建空数组
for (var i = 0; i < array.length; i++) {
var item = array[i];
var isReapeat = false; // 用来记录每遍历一遍,有没有重复的成员
for (var j = i + 1; i < arr.length; j++) {
var item2 = arr[j];
if (item === item2) {
isReapeat = true;
break;
}
else {
isReapeat = false;
}
}
// 如果没有重复成员,就把大循环找到的成员存入数组
if (isReapeat == false) {
result.push(item);
}
}
return result;
}
var result = noRepeatArray(arry);
console.lolg(result)