美文网首页
JavaScript | 使用es6语法去重

JavaScript | 使用es6语法去重

作者: 前端阿峰 | 来源:发表于2020-07-20 14:49 被阅读0次

JS数组去重

过滤器和indexof

var arr = [2,3,4,4,5,2,3,6];
var arr2 = arr.filter(function(element,index,self){
  return self.indexOf(element) === index;
});
console.log(arr2); //[2, 3, 4, 5, 6]

循环和indexof

var arr = [2,3,4,4,5,2,3,6],
   arr2 = [];
for(var i = 0;i< arr.length;i++){
    if(arr2.indexOf(arr[i]) < 0){
        arr2.push(arr[i]);
    }
}
console.log(arr2);//[2, 3, 4, 5, 6]

把数组的值作为对象的键

var arr = [0,2,3,4,4,0,2];
var obj = {};
var tmp = [];
for(var i = 0 ;i< arr.length;i++){
   if( !obj[arr[i]] ){
      obj[arr[i]] = 1;
      tmp.push(arr[i]);
   }
}
console.log(tmp); //[0, 2, 3, 4]

利用数组的循环和includes方法

var arr = [0,2,3,4,4,0,2];
var res = [];
for(var i=0; i<arr.length; i++){
  if( !res.includes(arr[i]) ){ // 如果res新数组包含当前循环item
     res.push(arr[i]);
}
console.log(res);

利用数组的filter和includes

var arr = [0,2,3,4,4,0,2];
var res = [];
res = arr.filter(function(item){
    return res.includes(item) ? '' : res.push(item);
});

利用es6的set方法

var arr = [0,2,3,4,4,0,2];
var arr2=Array.from(new Set(arr));
console.log(arr2);

相关文章

网友评论

      本文标题:JavaScript | 使用es6语法去重

      本文链接:https://www.haomeiwen.com/subject/ayxykktx.html