资讯专栏INFORMATION COLUMN

JS去重的几种实现方法

shengguo / 679人阅读

摘要:方法新特性方法利用对象名唯一方法利用数组包含方法排序比较兄弟元素方法双循环比较

方法1:ES6新特性Set
 Array.prototype.rmSome = function() {
     return Array.from(new Set(this));
  }
方法2:利用对象名唯一
Array.prototype.rmSome = function() {
 let tempObj = {}
 this.forEach(item => {
     if (tempObj[item]) {
         return
     } else {
         tempObj[item] = item;
     }
 })
return Object.values(tempObj)
  }
方法3:利用数组包含  [].includes  [].indexOf
Array.prototype.rmSome = function () {
 let tempArr = [];
 this.forEach((item, index) => {
     if (tempArr.includes(item)) {
         return
     } else {
         tempArr.push(item)
     }
 })
 return tempArr
}
方法4: 排序比较兄弟元素
Array.prototype.rmSome = function () {
 const tempArr = this.sort();
 tempArr.forEach((item, index) => {
     for (let i = 0; i < tempArr.length; i++) {
         if (tempArr[i] == tempArr[i + 1]) {
             tempArr.splice(i, 1);
             i--;
         }
     }
 })
 return tempArr
}
方法5: 双循环比较
  Array.prototype.rmSome = function () {
 for (let i = 0; i < this.length; i++) {
     const node = this[i];
     for (let j = i + 1; j < this.length; j++) {
         if (node === this[j]) {
             this.splice(j, 1);
             j--;
         }
     }
 }
 return this
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/107980.html

相关文章

  • js去重几种方法

    摘要:去重真的是面试必考啊。下标判断,也可以对象的键值还要先排序 js去重真的是面试必考啊。 es6 set function duplicate(arr){ return [...new Set(arr)] } indexOf下标判断,lastIndexOf也可以 function duplicate2(arr){ let res=[]; arr.forEach((item)...

    cnio 评论0 收藏0
  • js数组去重几种方法

    摘要:三种方法利用判断新数组中实际上也是使用的类似的传入数组如果当前数组的第已经保存进了临时数组,那么跳过,否则把当前项到临时数组里面利用判断旧数组结果数组如果当前数组的第项在当前数组中第一次出现的位置不是,那么表示第项是重复的,忽略掉。 三种方法 利用indexOf判断新数组 underscore.js中实际上也是使用的类似的indexOf //传入数组 functio...

    mykurisu 评论0 收藏0
  • 数组去重--这几种方法够不?

    摘要:数组去重是校招面试的必考知识点。以下就是笔者所实现的数组去重的几种简单的方式。结合实现这种方法的关键点就是判断是否相同的时候不要忽略对元素类型的判断。以上就是笔者所想到的几个数组去重的方式大家如果有更好的方法欢迎留言。 数组去重,是校招面试的必考知识点。简单的说,数组去重就是将一个数组中的相同的元素删除,只保留其中的一个。这里的相同其实是一个陷阱,有好多同学只认为值相等即为相同,而忽略...

    wendux 评论0 收藏0
  • JS数组重的集中方案

    摘要:去重的几种方案双层循环排序后比较相邻元素是否相等压入数组有限制,但效率高高性能数组去重 JS去重的几种方案 new Set() 双层for循环 + splice Array.fliter + indexof Arroy.sort + 排序后比较相邻元素是否相等压入数组 for ... of + includes for ... of + object 有限制,但效率高 JS高性能数组...

    wslongchen 评论0 收藏0

发表评论

0条评论

shengguo

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<