1.数组去重
var arr = [1, 2, 3, 4, 5, 3, 4, 5, 6]; function uniqueArr(arrParam) { var newArr = []; ------新的数组要写到for循环外面,才是全局变量,否则是局部变量 for (var i = 0; i < arrParam.length; i++) { if (newArr.indexOf(arrParam[i]) == -1) { newArr.push(arrParam[i]) } } return newArr ------- return也需要在全部去重之后在return,否则只是return的没一个数 } console.log(‘uniqueArr(arr)=‘, uniqueArr(arr)); // [1,2,3,4,5,6]
2.用es6方法去重
Set为ES6新增的一个对象,允许存储任何类型(原始值或引用值)的唯一值:Array.from(new Set(arrParam))
var arr1 = [1, 2, 3, 4, 5, 3, 4, 5, 6]; function uniqueArr1(arrParam) { return Array.from(new Set(arrParam)) } console.log(uniqueArr1(arr1))