博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
获取数组中重复的元素
阅读量:4569 次
发布时间:2019-06-08

本文共 1298 字,大约阅读时间需要 4 分钟。

第一种,判断包含基本类型的数组中的重复元素

/** * (这里只是判断基本类型的元素) * @param  Array * @return Array */export const getRepeatElement = (array) => {  let result = []  let hash = {}  array.forEach((item) => {    if (item) {      if (!hash[item]) {        hash[item] = true      } else {        result.push(item)      }    }  })  result = result.filter((item, index, arr) => arr.indexOf(item) === index)  return result}

第二种,判断包含对象的数组中的重复元素

/* 去掉对象数组中属性和属性值一样的对象,返回过滤后的数组 */const getNoRepeatObject = (array) => {  if (array.length < 2) {    return array  }  let differentObject = []  //放不重复的对象  let sameObject = [] //放重复对象  array.forEach(obj => {    let sameArray = differentObject.filter(tempObj => {      let isSame = true      if(Object.keys(tempObj).length === Object.keys(obj).length) {        for (const key in tempObj) {          if (!obj.hasOwnProperty(key) || tempObj[key] !== obj[key]) {            isSame = false          }        }      } else {        isSame = false      }      if (isSame) {        return tempObj      }    })    if (!sameArray.length) {      differentObject.push(obj)    } else {      sameObject.concat(sameArray)  //将重复的对象放到sameObject数组中,如果需要,也可以返回    }  })  if (differentObject.length === 1) {    differentObject = []  }  return differentObject}

 

转载于:https://www.cnblogs.com/yyh1/p/9822257.html

你可能感兴趣的文章
Oracle中merge into语法
查看>>
Vue2.x + vux2.x + vux-loader + typescript 搭建第一个环境
查看>>
MySQL的binlog日志
查看>>
vagrant The specified host network collides with a non-hostonly network!
查看>>
0x59 单调队列优化DP
查看>>
mysql中的union用法
查看>>
利用python爬取龙虎榜数据及后续分析
查看>>
Python 常用的方法
查看>>
Git和GitHub使用总结
查看>>
php array_multisort对数据库结果多个字段进行排序
查看>>
关于大型网站技术演进的思考(十六)--网站静态化处理—前后端分离—下(8)...
查看>>
Python中dict详解
查看>>
[LeetCode][JavaScript]House Robber
查看>>
java经典算法四十题
查看>>
(转载) MTK flash
查看>>
Python 序列化之json、pickle
查看>>
python3 多线程笔记
查看>>
无尽的控件-GridView复合表头
查看>>
Luogu4726 【模板】多项式指数函数(NTT+多项式求逆)
查看>>
e3mall商城的归纳总结2之认识dubbo、zookeeper
查看>>