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


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

    如需要合并所有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,'事例二');

    效果如下:

  • 相关阅读:
    支付宝支付
    django之contenttype
    vue 项目搭建 及基础介绍
    redis续
    1012
    1009
    灾后重建
    FLOYD判圈
    1007
    1006
  • 原文地址:https://www.cnblogs.com/blur-king/p/13376025.html
Copyright © 2020-2023  润新知