组合使用map 和find重组数组对象

LinMeng 等级 400 1 1

需求:有两个均是数组对象结构的数组,如下:

//第一个数组对象结构如下:   arr1数组长度大于arr2
arr1=[
  {adCode:"12340",adName:'河南省'},
  {adCode:"12341",adName:'山东省'},
  {adCode:"12342",adName:'广东省'},
  {adCode:"12343",adName:'上海市'},
  {adCode:"12344",adName:'安徽省'},
]
//第二个数组对象结构如下:
arr2=[
  {adCode:'12342',adValue:"98"},
  {adCode:'12340',adValue:"48"},
  {adCode:'12341',adValue:"90"},
]

由上面的数据结构可以看出,若想获得如下数据结构:

arr3=[
  {adName:"河南省",adValue:"48"}
]

则可进行如下操作:

const arr = arr1.map((v)=>{
    const newResult = arr2.find((item)=>v.adCode ===item.adCode);
    return {adName:v.adName,adValue:newResult.adValue}
})

若arr2数组结构如下:

arr2=[
  {adCode:'12342',adValue:"98"},
  {adCode:'12340',adValue:undefined},
  {adCode:'12341',adValue:"90"},
  {adCode:'12344',adValue:"40"},
  {adCode:'12343',adValue:undefined},
]

则操作如下:

const arr = arr1.map((v)=>{
     //adValue值为undefined时,不纳入新数组arr中
    const newResult = arr2.find((item)=>v.adCode ===item.adCode) || {};
    return {adName:v.adName,adValue:newResult.adValue}
})
收藏
评论区

相关推荐

Swift 常见面试题解
基础 1、class 和 struct 的区别 2、不通过继承,代码复用(共享)的方式有哪些 3、Set 独有的方法有哪些? 4、实现一个 min 函数,返回两个元素较小的元素 5、map、filter、reduce 的作用 6、map 与 flatmap 的区别 7、什么是 copy on write 8、如何获取当前代码的函
js 的 forEach,map,filter,some,every,find(es6),reduce详解
forEach() 定义和用法 forEach()方法用于调用数组的每个元素,并将元素传递给回调函数 注意: forEach()对于空数组是不会执行回调函数的。 语法 array.forEach(function(currentValue,index,arr),thisValue) 参数 function(currentValue,index,a
Java的其他Map
一、LinkedHashMap 1.1 应用场景 HashMap是无序的,当我们希望有顺序地去存储keyvalue时,就需要使用LinkedHashMap了。 1.2 插入顺序和访问顺序 LinkedHashMap默认的构造参数是默认  插入顺序的,就是说你插入的是什么顺序,读出来的就是什么顺序,但是也有访问顺序,就是说你访问了一个key,这个
实际开发过程中遇到的js方法
1.递归方法实现树形结构 formatCompanyTree(data, id) { const newData data.filter( item item.pid id ).map(item ({ ...item, disabled: item.nodetype
HashMap深度解析:一文让你彻底了解HashMap
前言 HashMap是Map族中最为常用的一种,也是 Java Collection Framework 的重要成员。本文首先给出了 HashMap 的实质并概述了其与 Map、HashSet 的关系,紧接着给出了 HashMap 在 JDK 中的定义,并结合源码分析了其四种构造方式。 最后,通过对 HashMap 的数据结构、实现原理、源码实现三
python中的map函数
1 map()函数的简介以及语法: map是python内置函数,会根据提供的函数对指定的序列做映射。 map()函数的格式是: map(function,iterable,...) 第一个参数接受一个函数名,后面的参数接受一个或多个可迭代的序列,返回的是一个集合。 把函数依次作用在list中的每一个元素上
go-map源码简单分析(map遍历为什么时随机的)
GO 中map的底层是如何实现的 首先Go 语言采用的是哈希查找表,并且使用链表解决哈希冲突。 GO的内存模型 先看这一张map原理图 (https://imghelloworld.osscnbeijing.aliyuncs.com/49dfa7b81e19fbab143ddc0a7b3b7fa0.png) map 再来看
Python的map()方法如何使用?
在学习map()方法之前,我们先在交互模式下看下map()的用法说明。 (https://imghelloworld.osscnbeijing.aliyuncs.com/5c398969745b516276e1f7f5c7dcb764.png) 从上面可以得到的信息是: map()返回的是一个map对象(python2.0中返回的是列表
组合使用map 和find重组数组对象
需求:有两个均是数组对象结构的数组,如下: //第一个数组对象结构如下: arr1数组长度大于arr2arr1 {adCode:"12340",adName:'河南省'}, {adCode:"12341",adName:'山东省'}, {adCode:"12342",adName:'广东省'}, {adCode:"12343",adNa
Ant Design 可编辑的树形表格
Ant Design Editable Tree TableAnt Design of React Editable Tree Table可编辑的树形表格Need in the work, but i did not find readymade components easy to understand after Baidu and Googl
Python爬虫常见异常及解决办法
给大家介绍一门互联网行业认知课,带你一起深入认识互联网这个行业,为将来的就业铺好路。 1.selenium.common.exceptions.WebDriverException: Message: unknown error: cannot find Chrome binary在爬虫时经常会使用selenium实现自动化,来模拟Google访问目
[concurrent-map]-并发map在go中的使用
关于我 通过学习和分享的过程,将自己工作中的问题和技术总结输出,希望菜鸟和老鸟都能通过自己的文章收获新的知识,并付诸实施。 引言Go语言原生的map类型并不支持并发读写。在Go 1.9之前,go语言标准库中并没有实现并发map。在Go 1.9中,引入了sync.Map。 concurrentmap的优势concurrentm
关于根据颜色刷选图像内容的问题
在CSDN本人博文《OpenCVPython图像处理:用inRange刷选图像中指定颜色对象案例》(请点击文章底部最下方的“阅读原文”跳转CSDN阅读原文)中介绍了根据颜色刷选图像内容相关的概念及实现,介绍了通过使用inRange在HSV颜色空间中识别制定颜色的图像内容,文中概要介绍了HSV颜色空间中进行制定颜色对象识别的要点,使用的inRange函数的语法
js数组的遍历
js中数组的遍历 1\. Map()方法Map 映射的意思,可以看做是一个映射函数,所谓的映射。一个萝卜一个坑,一 一对应的关系; 语法:const arrArray();arr.map((item,index,arr) //函数体 return ;);//参数1:数组中的每一项(必选)//参数2:索引(可选)//参数3:当前遍历的数组本身(可选)//注
简简单单复习一哈HashMap
HashMap可被序列化,线程不安全,允许null值和null键,安全的MapCollections.synchronizedMap(): / Returns a synchronized (threadsafe) map backed by the specified map. In order to guarantee s