加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码门户网 (https://www.92codes.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

来一个老生常谈的话题,JavaScript中,数组如何去重?

发布时间:2019-08-23 06:18:41 所属栏目:优化 来源:大胡子民工潘半仙
导读:副标题#e# 关于如何去除一个给定数组中的重复项,应该是 Javascript 面试中最常见的一个问题了,最常见的方式有三种:Set、Array.prototype.filter 以及 Array.prototype.reduce,对于只有简单数据的数组来讲,我最喜欢 Set,没别的,就是写起来简单。 cons

就像 filter 章节一样,我们来看看 reduce 的执行过程:

  1. const originalArray = [1, 2, '咩', 1, 'Super Ball', '咩', '咩', 'Super Ball', 4] 
  2. const byReduce = originalArray.reduce((unique, item, index, source) => { 
  3.   const exist = unique.includes(item) 
  4.   const next = unique.includes(item) ? unique : [...unique, item] 
  5.   console.group(`遍历第 ${index} 个值`) 
  6.   console.log('当前累计器:', unique) 
  7.   console.log('当前值:', item) 
  8.   console.log('是否已添加进累计器?', exist) 
  9.   console.log('新值', next) 
  10.   console.groupEnd() 
  11.   return next 
  12. }, []) 

(编辑:源码门户网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!