美文网首页
合并对象数组

合并对象数组

作者: 茂茂爱吃鱼 | 来源:发表于2018-04-18 13:03 被阅读0次

最近在做多图片上传,发现上传前后文件顺序不一致,那么如何让上传后的顺序跟上传前的顺序保持一致呢?经过调试发现上传前后文件各自以对象形式存放在数组中,所以自己想的解决方法就是将上传前后的数组以上传前的文件名为键值合并下,自己简单写了个函数实现了下合并对象数组的功能,感觉效率不是很高,暂时没想到更好的办法。。。

function mergeArrayByKey(...args) {
   const key = args[0];
   const map = {};
   for(let i = 1; i < args.length; i+=1) {
     for(let j = 0; j < args[i].length; j+=1) {
       let currentEle = args[i][j];
       let currentKey = currentEle[key]
       if(!map[currentKey]) {
         map[currentKey] = currentEle;
       } else {
         map[currentKey] = Object.assign(map[currentKey], currentEle);
       }
    }
   }
   return Object.values(map);
}

mergeArrayByKey(
  'name',
  [{'name':'01', a:1},{'name':'02', a:2}],
  [{'name':'01', b:1},{'name':'03', b:2}]
);    
// [{name: "01", a: 1, b: 1},{name: "02", a: 2},{name: "03", b: 2}]

相关文章

  • 数组去重,数据合并,数组合并去重等ES6语法

    数组去重 数组合并 数组合并去重 淘宝首页到底用了多少种标签(面试题) 对象合并 数组合并替换

  • js数组中常用方法详解(ES5)

    1.concat();合并数组,返回合并后的数组 ---不包含对象的数组的深拷贝;对象数组的浅拷贝(详见下一篇...

  • 合并对象数组

    最近在做多图片上传,发现上传前后文件顺序不一致,那么如何让上传后的顺序跟上传前的顺序保持一致呢?经过调试发现上传前...

  • JS之向对象数组添加属性并赋值

    两个对象数组合并属性与值 输出结果为: 两个对象数组合去重并合并 输出结果为: [来源]https://www.c...

  • 合并两个相同的数组

    遇到一个问题,需要把两个相同的数组合并成一个数组, 数组对象yuanMultipleSelection 数组对象s...

  • JS:day05

    一、Array(数组) 对象 1、创建数组的几种方法 2、合并数组(concat) 3、数组转换(join / s...

  • 数据格式转换

    map过滤数组中对象 间隔字符插入 判断数组中对象某个属性的值是否都相等 二维数组合并为一维数组

  • TS基础(十一)元组

    数组合并想用类型的对象,而元祖(Tuple)合并了不同类型的对象元组可以属于理解成一个任意类型并且长度有限的数组 ...

  • es6...扩展操作符

    数组合并 对象合并 Object.assign的详细用法参考资料:https://developer.mozill...

  • js对象合并、数组合并

    对象合并

网友评论

      本文标题:合并对象数组

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