当前位置: 首页 > news >正文

js去重

<script>let arr = [{ id: 0, name: "张三" },{ id: 1, name: "李四" },{ id: 2, name: "王五" },{ id: 3, name: "赵六" },{ id: 1, name: "孙七" },{ id: 2, name: "周八" },{ id: 2, name: "吴九" },{ id: 3, name: "郑十" },{ id: 3, name: "郑十", p: 'kkk' },];//对象数组去重function byReducesDeWeight(arr, prop) {let obj = {};return arr.reduce((res, next, index) => {// 排除无属性 如果不加next.hasOwnProperty(prop)会第一个始终被记入obj[next[prop]] ? "" : (obj[next[prop]] = true && next.hasOwnProperty(prop) && res.push(next))return res;}, [])}// console.log(byReducesDeWeight(arr, ''));//对象数组去重function byFilterDeWeight(arr, prop) {return arr.filter((now, index, list) => {return list.findIndex(el => (el[prop] && el[prop] == now[prop])) === index})}// console.log(byFilterDeWeight(arr, 'p'));let arr2 = [1, 2, 4, 5, 73, 3, 4, 3, 2]//简单数组去重 Setfunction bySetDeWeight(arr) {return [...new Set(arr2)] //或者  Array.from(arr2)}//简单数组去重 indexOffunction byIndexOfDeWeight(arr) {let ar = []arr.forEach(element => {ar.indexOf(element) == -1 && ar.push(element)});return ar}// 简单数组去重 includesfunction byIncludesSimbleDeWeight(arr) {let ar = []for (let i = 0; i < arr.length; i++) {!ar.includes(arr[i]) && ar.push(arr[i])}return ar;}// 双层循环function byForDeWeight(arr) {let ar = [...arr] //为啦不影响原数组for (let i = 0, len = ar.length; i < len; i++) {for (let j = i + 1; j < len; j++) {ar[i] == ar[j] && (ar.splice(j, 1), j--, len--)}}return ar}// console.log(byForDeWeight(arr2));// console.log(arr2);</script>
http://www.lryc.cn/news/16661.html

相关文章:

  • 小白都能看懂的C语言入门教程
  • leetcode 21~30 学习经历
  • 让ArcMap变得更加强大,用python执行地理处理以及编写自定义脚本工具箱
  • SAP 项目实施阶段全过程
  • idea中的Maven导包失败问题解决总结
  • REDIS中的缓存穿透,缓存击穿,缓存雪崩原因以及解决方案
  • 数据库及缓存之MySQL(一)
  • 项目管理中,项目经理需要具备哪些能力?
  • itk中的一些图像处理
  • Endless lseek导致的SQL异常
  • JUC-day01
  • Mind+Python+Mediapipe项目——AI健身之跳绳
  • 数据库概述
  • 【已解决】解决IDEA的maven刷新依赖时出现Connot reconnect错误
  • 动态链接库(.so)文件的变编译和引用、执行
  • linux(centos8)文件解压命令
  • 阅读笔记6——通道混洗
  • 上海亚商投顾:沪指失守3300点 卫星导航概念全天强势
  • 疯狂的SOVA:Android银行木马“新标杆”
  • 汽车零部件企业数字工厂管理系统建设方案
  • 【线程同步工具】Semaphore源码解析
  • 获取实时天气
  • 【数据库】redis数据持久化
  • 前端编译、JIT编译、AOT编译
  • 父子组件中,子组件调用父组件的方法
  • 第七章.深度学习
  • 小学生学Arduino---------点阵(三)动态的显示与清除
  • opencv图片处理
  • C++ Primer Plus 学习笔记(二)—— 复合类型
  • 代码随想录算法训练营第七天 | 454.四数相加II 、 383. 赎金信、15. 三数之和、18. 四数之和 、总结