方法一 :使用for循环
具体代码如下:
function arr(arr) {//封装函数 arr
var res = [] //声明一个空数组
for (let i = 0; i < arr.length; i++) { //使用for循环遍历数组
if (!res.includes(arr[i])) { //判断当前元素是否在res里面出现过
res.push(arr[i]) //若没有就将其放入res里面
}
}
console.log(res);
}
arr([1,1,2,2,3,3,4])
方法二:双重for循环
具体代码如下:
function arr (arr){
for (let i = 0; i < arr.length; i++) { //外层从数组第一个元素开始遍历
for (let j = i + 1; j < arr.length; j++) {//内层从数组第二个元素开始遍历
if (arr[i] === arr[j]) { //通过内层和外层的对比判断是否有相等的元素
arr.splice(j, 1) //若有则删除内层重复的元素
}
}
}
console.log(arr);
}
arr([2,2,3,3,4,4])
方法三:使用ES6新增的Set数据结构
具体代码如下:
var arr = [1,2,2,3,4,4]
var res = new Set(arr) //使用ES6新增的Set数据结构
//将要去重的数组作为Set的参数创建一个Set对象。将Set对象转换成数组,即可得到去重后的数组。
var newArr = Array .from(res)
//Array.from()方法可以将类数组对象或可迭代对象转换成数组,同时也可以用来将Set对象转换成数组。
console.log(res);