首页 > 编程语言 > 详细

js操作数组根据key值去做操作(应用层面)

时间:2020-07-25 20:20:36      阅读:54      评论:0      收藏:0      [点我收藏+]

前端在处理后台返回的接口同时,可能也会在功能中对数据进行操作。在实际开发中可能出现比较常见的一类就是归类或者归并。

如需要合并所有KEY值相同的的值,或者说累计相同KEY值所以在实际开发层面,在没有找到更好的办法之前我们想到的最多是for循环嵌套

for循环进行归类,但是那样既不高效,可读性又差,所以我用reduce函数进行了缩减操作。如下

   //模拟一二用到的变量
    const  data = [{
        ‘2019-02-03‘: 1
    }, {
        ‘2019-01-01‘: 34
    }, {
        ‘2019-02-03‘: 12
    }, {
        ‘2019-01-01‘: 31
    }, {
        ‘2019-03-01‘: 5
    }];
    //模拟一 : 总结所有日期出现的次数如果有则叠加次数
    let new_data_one = data.reduce((v,i) =>Object.assign(v,v[Object.keys(i)[0]]?++v[Object.keys(i)[0]]:v[Object.keys(i)[0]]=1),{});
    console.log(new_data_one,‘事例一‘);
    //模拟二 : 总结所有日期出现的值如果有则叠加值
    let new_data_two = data.reduce((v,i) =>Object.assign(v,v[Object.keys(i)[0]]?v[Object.keys(i)[0]]=Object.values(i)[0]+v[Object.keys(i)[0]]:v[Object.keys(i)[0]]=Object.values(i)[0]),{});
    console.log(new_data_two,‘事例二‘);

效果如下:

技术分享图片

 

js操作数组根据key值去做操作(应用层面)

原文:https://www.cnblogs.com/blur-king/p/13376025.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!