// way one
let array = [1,2,3,4,5,4];
let array1 = [1,1,1,1,1,2,2,3];
// zepto源码实现方式,简单可比较元素
let newArray = array1.filter((element, index) => {
    return array1.indexOf(element) === index;
});
console.log(newArray);
// way two,简单可排序元素
let array2 = [1,1,1,1,1,2,2,3];
let newArray2 = array2.sort();
for(let i = 1;i < newArray2.length;i++) {
  if(newArray2[i - 1] === newArray2[i]) {
    newArray2.splice(i, 1);
    i--;
  }
}
console.log(newArray2);
// way three
// 复杂对象
// 1.简单去重 + 对象深度复制克隆
let array3 = [1,1,1,1,1,2,2,3];
let newArray3 = array3.concat();
let currentVal;
let moveVal;
for(let i = 0;i < newArray3.length;i++) {
  let currentVal = newArray3[i];
  for(let j = i + 1;j < newArray3.length;j++) {
    moveVal = newArray3[j];
    if(currentVal === moveVal) {
      newArray3.splice(j, 1);
      j--;
    }
  }
}
console.log(newArray3);
[JavaScript基础]数组去重常见的三种方式
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
 平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。