1.对象判断

let newAarray = [];if (info.checkedNodes && info.checkedNodes.length > 0) {let idArray = [];info.checkedNodes.forEach(function (ele, i) {if (idArray.indexOf(info.checkedNodes[i].systemId) === -1 &&info.checkedNodes[i].systemId) {newAarray.push({id: info.checkedNodes[i].systemId,menuList: [info.checkedNodes[i].key],});idArray.push(info.checkedNodes[i].systemId);} else {newAarray.forEach(function (dom, k) {if (newAarray[k].id == info.checkedNodes[i].systemId) {newAarray[k].menuList.push(info.checkedNodes[i].key); //把具有相同systemId的key值进行合并}});}});console.log(newAarray, '2222222');}

2、reduce

不足:有个bug,通过合并同类属性重组,它会给最后的数组添加空属性,然后也没找到是哪里来的,但是可以把最后的数组通过filter拿到有值的数据这种方法去除空属性。

//方法
const Group = (arr = [], key) => {return key? arr.reduce((t, v) => {if (!t[v[key]]) {t[v[key]] = {id: v[key],menuList: [],};}t[v[key]].menuList.push(v.key);return t;}, []): [];};//使用
let resdata = Group(info.checkedNodes.filter((item) => item.systemId),'systemId',).filter((item) => item);

js合并数组对象中key相同的数据,并以此key生成新对象相关推荐

  1. js合并对象和js合并数组

    js合并对象 Object.assign(target,xxx,xxx,...)  :将所有可枚举属性的值从一个或多个源对象复制到目标对象 assign<T, U, V>(target: ...

  2. 数组中的对象的特征值提取生成新对象实现方法

    最近要做一个可视化的SQL语句生成功能视图, 项目中遇到一个JSON保存后还原的问题,由于保存之前和后台沟通约定好保存的JSON格式,所以在还原的时候,就要按照保存的格式来进行逆向解析. 首先来看一下 ...

  3. jsonobject json对象里面_将json字符串转为json对象,从对象中取需要的数据

    说明:有时候需要取json字符串中的某个键对应的值,这个时候有两个方案: 1.遍历json字符串,取需要的键对应的值.(太慢太繁琐太傻): 2.将json字符串转为json对象,从对象中取(方便): ...

  4. JS实现数组每次只显示5条数据,首尾相连显示

    JS实现数组每次只显示5条数据,首尾相连显示 今天朋友问我,如何点击一个按钮,每次只展示数组中的五条数据,如果数据有13条,默认展示数组1-5,点第一次为6-10,第二次为11-13,第三次从头再来 ...

  5. 数组x中数据复制到数组y中,重复的数据只存储一次,最后输出y;计算x中数据的平均值ave及大于平均值的元素个数n。c++实现

    题目描述 编程序,实现如下功能: (1)定义两个一维数组x,y,不超过50个元素. (2)从键盘输入k个整数到数组x中. (3)计算x中数据的平均值ave及大于平均值的元素个数n并输出. (4)将数组 ...

  6. python创建对象_对Python中9种生成新对象的方法总结

    先定义一个类: class Point: def __init__(self, x, y): self.x = x self.y = y 下面我们使用9种方法来生成新的对象: point1 = Poi ...

  7. pandas生成新的累加数据列、pandas生成新的累加数据列(数据列中包含NaN的情况)、pandas计算整个dataframe的所有数据列的累加

    pandas生成新的累加数据列.pandas生成新的累加数据列(数据列中包含NaN的情况).pandas计算整个dataframe的所有数据列的累加 目录

  8. js 合并数组对象,相同键的求和。合并数组对象中的相同项,并统计数量和

    代码: var list=[{price:1000,amount:1 },{price:1500,amount:3 },{price:1000,amount:1 },{price:1200,amoun ...

  9. JS合并数组对象中重复数据

    别人的问题,想着不难,自己敲一下...没想到啊没想到...一个小小的数组重组数据,搞了两个小时..... 还是水平太差了...是水平太差了...水平太差了...平太差了...太差了...差了...了. ...

最新文章

  1. Stack Overflow 2016 最新架构探秘
  2. QT程序拷贝 转移 改变运行环境
  3. 转: hibernate配置文件hibernate.cfg.xml和.hbm.xml的详细解释
  4. TensorFlow1.1搭建自编码网络
  5. matlab语言常用算法程序集
  6. vim插件-对齐插件tabular
  7. Visual Studio扩展开发(VS插件)
  8. python画五角星代码_如何用python画一个五角星_python绘制五角形教程
  9. 文本搜索引擎lucene
  10. 软件测试处理事物一般步骤,软件设计师考试题型分析及解法经验
  11. Ubuntu安装中文输入法
  12. 运筹优化(十三)--大规模优化方法
  13. HCIA~以太网链路聚合与交换机堆叠、集群
  14. 睡眠即醒 蓝牙_如果您的Mac从睡眠中随机醒来,请尝试防止蓝牙唤醒功能 | MOS86...
  15. 转:人生最优策略:你发现自己的天赋了吗?
  16. MUI中vue的@click事件没反应
  17. 基于腾讯云搭建属于自己的Fiora聊天室
  18. 会计凭证替代BTE增强
  19. 零基础入门C 语言如何实现面向对象编程
  20. 例题5-10 UVa207-PGA Tour Prize Money(WA)

热门文章

  1. html中滑动文本框怎么写,html在文本框中加入滚动条
  2. 什么是网络拓扑?—Veclou微云
  3. skype安卓手机版_微信支付支持手机号转账,安卓7.08内测版上线!
  4. Mysql unicode编码内容的查询
  5. commonAdapter
  6. android真机流量测试,手机终端app流量测试
  7. python有道字典_Java和Python使用有道词典制作查单词脚本
  8. 航模第一篇——遥控及飞行模拟器安装注意事项
  9. 【java】背包问题
  10. win10 UWP FlipView