定义一个unique
函数,接收一个数组作为参数,返回一个新数组,新数组是原数组去重后的情况。如:
let array = [1, 1, '1', 2, '2', 3];
console.log(unique(array)); // 打印 [1, '1', 2, '2', 3] 类型不同认为内容不同
思路:Set存储的是不重复的值,可以把Set转化为数组就可以了。
function unique(array) {
return [...new Set(array)];
}
思路:使用filter过滤掉indexOf不等于当前索引的值。
function unique(array) {
let res = array.filter(function(item, index, array){
return array.indexOf(item) === index;
});
return res;
}
注意:由于indexOf是通过全等来比较的,所以该方法不能对
NaN
去重。