JavaScript数据处理案例

将对象转换为数组

<script>
    // 将对象转换为数组
    const obj = {
        0000: "zs",
        0001: "ls",
        0002: "ww",
    };
    const res = Object.entries(obj).map(([key, value]) => ({
        value: key.padStart(4, '0'),
        label: value,
    }));
    console.log(res);
    /*
    结果:
    [
        {
            "value": "0000",
            "label": "zs"
        },
        {
            "value": "0001",
            "label": "ls"
        },
        {
            "value": "0002",
            "label": "ww"
        }
    ]*/
</script>

计算json数据里每项的和,最终返回每项求和后的数组

<script>
    // 计算json数据里每项的和,最终返回每项求和后的数组
    const dayPlanOutput = [
        {
            "2023-12-18": 10,
            "2023-12-19": 0,
            "2023-12-20": 0,
            "2023-12-21": 0,
            "2023-12-22": 0,
            "2023-12-23": 0,
            "2023-12-24": 0
        },
        {
            "2023-12-18": 1,
            "2023-12-19": 0,
            "2023-12-20": 0,
            "2023-12-21": 0,
            "2023-12-22": 0,
            "2023-12-23": 0,
            "2023-12-24": 0
        },
        {
            "2023-12-18": 0,
            "2023-12-19": 3,
            "2023-12-20": 0,
            "2023-12-21": 0,
            "2023-12-22": 1994,
            "2023-12-23": 2659,
            "2023-12-24": 0
        },
        {
            "2023-12-18": 0,
            "2023-12-19": 0,
            "2023-12-20": 0,
            "2023-12-21": 0,
            "2023-12-22": 0,
            "2023-12-23": 0,
            "2023-12-24": 0
        },
        {
            "2023-12-18": 0,
            "2023-12-19": 0,
            "2023-12-20": 0,
            "2023-12-21": 0,
            "2023-12-22": 0,
            "2023-12-23": 0,
            "2023-12-24": 10
        }
    ];
    const sumsArr = Object.keys(dayPlanOutput[0]).map(date => {
        return dayPlanOutput.reduce((acc, obj) => acc + obj[date], 0);
    });
    console.log(sumsArr); // [11, 3, 0, 0, 1994, 2659, 10]
</script>

从arr数据里过滤出只含有str数据,最终返回json

<script>
    // 从arr数据里过滤出只含有str数据,最终返回json
    const arr = [
        {bfId: "aaa", bfName: "111"},
        {bfId: "bbb", bfName: "222"},
        {bfId: "ccc", bfName: "333"},
    ]
    const str = "aaa,ccc";

    function convertStringToArray(str, dataArray) {
        const selectedItems = str.split(',').map(item => item.trim());
        return dataArray.filter(item => selectedItems.includes(item.bfId));
    }

    const resultArray = convertStringToArray(str, arr);
    console.log(resultArray);
    /*
    结果:
    [
        {"bfId": "aaa", "bfName": "111"},
        {"bfId": "ccc", "bfName": "333"}
    ]*/
</script>

将objNew数据复制并替换给objOld

<script>
    // 将objNew数据复制并替换给objOld
    let objOld = {
        publishFlag: '0',
        loading: false
    };
    let dataNew = {
        publishFlag: '1',
        a: '111'
    };
    let res = Object.assign({}, objOld, dataNew);
    console.log(res);
    /*
    结果:
    {
        "publishFlag": "1",
        "loading": false,
        "a": "111"
    }*/
</script>
  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码上暴富

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值