数组去重练习

题目

假设有数组 array = [1,5,2,3,4,2,3,1,3,4]
你要写一个函数 unique,使得
unique(array) 的值为 [1,5,2,3,4]
也就是把重复的值都去掉,只保留不重复的值。

要求写出两个答案:

一个答案不使用 Set 实现
另一个答案使用 Set

答案

使用Set版

var array = [1,5,2,3,4,2,3,1,3,4];
function unique (arr){
return Array.from(new Set(arr));
}
var uniqueArr = unique(array);
console.log(uniqueArr);

不使用set版

var array = [1,5,2,3,4,2,3,1,3,4];
function unique(arr){
for(i = 0 ; i<arr.length; i++){
  for(j = i+1; j < arr.length;j++){
  if(arr[i] === arr[j]){
    arr.splice(j,1);
    j --;
}
}
}
return arr;
}
var uniqueArr = unique(array);
console.log(uniqueArr);

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容