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

javascript 中数组对象操作方法

一、Filter方法:该方法会对原数组过滤并返回新数组,它不会改变原数组

let array2=[{id:'songxiaofeng',name:'宋晓锋'},{id:'xieyongqiang',name:'谢永强'},{id:'zhaoyutian',name:'赵玉田'},{id:'wangtianlai',name:'王天来'},{id:'zhaosi',name:'赵四'}]let array=array2.filter(i=>i.id=="zhaosi");console.log('array',array);

二、Some方法:该方法会遍历数组元素,找到符合条件的元素返回true,否则返回false,它不会修改原数组。

let array2=[{id:'songxiaofeng',name:'宋晓锋'},{id:'xieyongqiang',name:'谢永强'},{id:'zhaoyutian',name:'赵玉田'},{id:'wangtianlai',name:'王天来'},{id:'zhaosi',name:'赵四'}]let bool=array2.some(i=>i.id=="zhaosi");console.log('bool',bool);

 三、Filter和Some:组合使用可实现在两个数组对象中找到相同的元素

let array1=[{id:'pichangshan',name:'皮常山'},{id:'xieguangkun',name:'谢广坤'},{id:'wanglaoqi',name:'王老七'},{id:'liuneng',name:'刘能'},{id:'zhaosi',name:'赵四'}
]
let array2=[{id:'songxiaofeng',name:'宋晓锋'},{id:'xieyongqiang',name:'谢永强'},{id:'zhaoyutian',name:'赵玉田'},{id:'liuneng',name:'刘能'},{id:'zhaosi',name:'赵四'}
]let array=array1.filter(i=>array2.some(item=>i.id==item.id));console.log('array',array);

 四、Filter和Some:组合使用也可实现在两个数组对象中找到不相同的元素

let array1=[{id:'pichangshan',name:'皮常山'},{id:'xieguangkun',name:'谢广坤'},{id:'wanglaoqi',name:'王老七'},{id:'liuneng',name:'刘能'},{id:'zhaosi',name:'赵四'}
]
let array2=[{id:'songxiaofeng',name:'宋晓锋'},{id:'xieyongqiang',name:'谢永强'},{id:'zhaoyutian',name:'赵玉田'},{id:'liuneng',name:'刘能'},{id:'zhaosi',name:'赵四'}
]let array=array1.filter(i=>!array2.some(item=>i.id==item.id));let arrays=array2.filter(i=>!array1.some(item=>i.id==item.id));console.log('array',array);console.log('arrays',arrays);

 五、Map:使用Map对象高效率查找,更适合大量数据使用

let array1=[{id:'pichangshan',name:'皮常山'},{id:'xieguangkun',name:'谢广坤'},{id:'wanglaoqi',name:'王老七'},{id:'liuneng',name:'刘能'},{id:'zhaosi',name:'赵四'}]let array2=[{id:'songxiaofeng',name:'宋晓锋'},{id:'xieyongqiang',name:'谢永强'},{id:'zhaoyutian',name:'赵玉田'},{id:'liuneng',name:'刘能'},{id:'zhaosi',name:'赵四'}]let map=new Map(array1.map(item=>[item.id,item]));console.log('map',map);let arrays=array2.filter(i=>map.has(i.id));console.log('arrays',arrays);

六:unionBy合并去重,属于 'lodash'下方法‌,需要安装和引入

import {unionBy,isEqual} from 'lodash';

  let array1=[{id:'pichangshan',name:'皮常山'},{id:'xieguangkun',name:'谢广坤'},{id:'wanglaoqi',name:'王老七'},{id:'liuneng',name:'刘能'},{id:'zhaosi',name:'赵四'}]let array2=[{id:'songxiaofeng',name:'宋晓锋'},{id:'xieyongqiang',name:'谢永强'},{id:'zhaoyutian',name:'赵玉田'},{id:'liuneng',name:'刘能'},{id:'zhaosi',name:'赵四'}]let array=unionBy(array2, array1, 'id');console.log('array',array)

七:isEqual判断两个对象是否相同,属于 'lodash'下方法‌,需要安装和引入

import {unionBy,isEqual} from 'lodash';

    let params1={id:'zhaosi',name:'赵四'};let params2={id:'liuneng',name:'刘能'};let bool=isEqual(params2, params1);console.log('bool',bool)

也适用于数组对象比较是否相同

 let array1=[{id:'pichangshan',name:'皮常山'},{id:'xieguangkun',name:'谢广坤'},{id:'wanglaoqi',name:'王老七'},{id:'liuneng',name:'刘能'},{id:'zhaosi',name:'赵四'}]let array2=[{id:'pichangshan',name:'皮常山'},{id:'xieguangkun',name:'谢广坤'},{id:'wanglaoqi',name:'王老七'},{id:'liuneng',name:'刘能'},{id:'zhaosi',name:'赵四'}]let bool=isEqual(array1, array2);console.log('bool',bool)​

http://www.dtcms.com/a/285992.html

相关文章:

  • Paimon对比基于消息队列(如Kafka)的传统实时数仓方案的优势
  • Kafka的基本使用
  • 关于在VScode中使用git的一些步骤常用命令及其常见问题:
  • MariaDB 10.4.34 安装配置文档(Windows 版)
  • LLM(Large Language Model)大规模语言模型浅析
  • 第二篇 html5和css3开发基础与应用
  • ElasticSearch Doc Values和Fielddata详解
  • Kotlin序列
  • 外网访问基于 Git 的开源文件管理系统 Gogs
  • CentOS7下的ElasticSearch部署
  • SQL映射文件
  • elasticsearch+logstash+kibana+filebeat实现niginx日志收集(未过滤日志内容)
  • 树的重心相关概念证明
  • MyUI表单VcForm组件文档
  • 组件-多行文本省略-展开收起
  • VMC850立式加工中心Y轴传动机械结构设计cad【7张】三维图+设计说明书
  • 多模态大模型研究每日简报(2025-07-17)
  • 设计循环队列oj题(力口622)
  • 基于现代R语言【Tidyverse、Tidymodel】的机器学习方法与案例分析
  • OSPF路由协议的协商过程
  • (八)复习(拆分微服务)
  • 快速了解pycharm
  • 微服务基础环境搭建-centos7
  • HIVE实战处理(二十四)留存用户数
  • 第8天 | openGauss中一个数据库可以存储在多个表空间中
  • mybatisdemo(黑马)
  • 数据结构-3(双向链表、循环链表、栈、队列)
  • 前端-CSS (样式引入、选择器)
  • 7月18日总结
  • 深度学习之----对抗生成网络-pytorch-CycleGAN-and-pix2pix