美文网首页
JavaScript-找出数组中相同的数据,并合并相同数据中的

JavaScript-找出数组中相同的数据,并合并相同数据中的

作者: Cola丶ZYQ | 来源:发表于2018-05-02 18:21 被阅读0次
let arry = [
  {id: 1, list: [ {name:'张三'} ] },
  {id: 1, list: [{name:'李四' }, {name:'王五'}]},
  {id: 2, list: [ {name:'李白'} ]} 
]
function dataFilter(data){
    var obj = {}, arr = [];
    for(var i = 0, len = data.length; i < len ; i++){
      var currentData = data[i],
          currentKey = currentData.id,
          hased = currentKey in obj;   
      obj[currentKey] = {
          id : currentData.id,
          list :  (hased ? obj[currentKey]['list'] : []).concat(currentData.list)
      }   
    }
    for(var key in obj){
      arr.push(obj[key]);
    }
    return arr;
  }

  console.log(dataFilter(arry))
[
  {id: 1, list: [ {name:'张三'}, {name:'李四' }, {name:'王五'} ] },
  {id: 2, list: [ {name:'李白'} ] } 
]

相关文章

  • JavaScript-找出数组中相同的数据,并合并相同数据中的

  • Tableau 4. 数据合并

    数据合并类似SQL中的UNION ALL(不去重的合并)。 适用于数据列相同,数据结构相同的多个数据源,比如多个月...

  • 查询数组中相同的数据

    function foo(arr){ var dict = {}; var result = []; for(va...

  • 数组中相同元素的合并

    数组中相同元素的合并

  • JS合并数组对象中key相同的数据

    原数据: [ { city_id: 1, city_name: '南京', province: '江苏' }, {...

  • java 数组

    java数组:相同类型数据的有序集合 (数组元素的数据类型必须相同) 1. java 创建数组变量 数组中已有元素...

  • JinLou-C++day06

    数组 所谓数组,就是⼀个集合,⾥⾯存放了相同类型的数据元素特点1:数组中的每个数据元素都是相同的数据类型特点2:数...

  • 数组

    数组定义:多个相同类型的数据的组合。 数组的说明: 定义:多个相同类型的数据的组合。目的:为了在内存中对数据进行统...

  • 数组

    数组的定义 -数是具有相同数据类型的一组数据的集合。数组中的每个元素具有相同的数据类型。在Java中将数组看作是一...

  • Swift---4.集合类型

    数组:Array 空数组(实例化) 创建任意长度默认值数组 合并数组(注意,合并数组时,数组内部的数据类型必须相同...

网友评论

      本文标题:JavaScript-找出数组中相同的数据,并合并相同数据中的

      本文链接:https://www.haomeiwen.com/subject/ppgcrftx.html