实现思路:①先判断数组中是否存在某个值,返回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]