js中两个数组根据相同的一个字段合并成新数组

开发项目的时候发现前台需要的数据格式有好几种,想自己在前台处理一下。于是就想从这样

《js中两个数组根据相同的一个字段合并成新数组》

 变成这样

《js中两个数组根据相同的一个字段合并成新数组》

就是根据两个数组一样的字段值统一合并为一个数组,已开始使用的map循环数组,循坏是发现如果不满足条件会有个undefind的值进行占位,

《js中两个数组根据相同的一个字段合并成新数组》

后来发现用filter就没有这个问题

 《js中两个数组根据相同的一个字段合并成新数组》

 下面来看一下这两个函数的区别:

map

数据格式是这样的

array.map(function(currentValue,index,arr), thisValue)
currentValue必须。当前元素的值
index可选。当前元素的索引值
arr可选。当前元素属于的数组对象

map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。

map() 方法按照原始数组元素顺序依次处理元素。

注意: map() 不会对空数组进行检测。

注意: map() 不会改变原始数组。

filter

数据格式:

array.filter(function(currentValue,index,arr), thisValue)
currentValue必须。当前元素的值
index可选。当前元素的索引值
arr可选。当前元素属于的数组对象

ilter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

注意: filter() 不会对空数组进行检测。

注意: filter() 不会改变原始数组。

    原文作者:绚丽烟火487
    原文地址: https://blog.csdn.net/weixin_55582221/article/details/125636926
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞