数组去重(2)

实现思路:①先判断数组中是否存在某个值,返回true 或 false

     ②再新建一数组,将不重复的值存入新数组

封装如下:

 1 //①判断数组中是否存在某个值  返回值 true  false
 2 function has(arr, n) {
 3     for (let i = 0; i < arr.length; i++) {
 4         if (arr[i] == n) {
 5             return true;
 6         }
 7     }
 8     return false;
 9 }
10 //②数组去重
11 function noRepeat(arr) {
12     var newArr = [];
13     for (let i = 0; i < arr.length; i++) {
14         //如果新数组中没有arr[i],就将arr[i]放入新数组
15         if (!has(newArr, arr[i])) {
16             newArr.push(arr[i]);
17         }
18     }
19     return newArr;
20 }    

test:

let arr = [10, 20, 30, 10, 20, 30];
let result = noRepeat(arr);
//结果如下:
console.log(result); //  [10, 20, 30]
console.log(arr);    //  [10, 20, 30, 10, 20, 30]

 

posted @ 2019-06-13 16:13  7cc丶  阅读(84)  评论(0编辑  收藏  举报