账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    js 数组解析成多维?
    23
    0

    前提

    做前后端分离,现有如下数组按照updated_at倒序,根据year做第一级,month做第二级,拼装成多维数组,原先是在php后端进行排序处理,但是通过json传递到前端变成无序,现在想通过js,该如何处理?

    [
        {
            "id": 15,
            "year": "2018",
            "month": "03",
            "updated_at": "2018-03-01 15:09:59"
        },
        {
            "id": 14,
            "year": "2018",
            "month": "02",
            "updated_at": "2018-02-24 21:39:53"
        },
        {
            "id": 13,
            "year": "2017",
            "month": "12",
            "updated_at": "2017-12-02 16:45:03"
        },
        {
            "id": 5,
            "year": "2017",
            "month": "11",
            "updated_at": "2017-11-10 17:32:11"
        },
        {
            "id": 7,
            "year": "2017",
            "month": "11",
            "updated_at": "2017-11-07 17:26:09"
        },
        {
            "id": 9,
            "year": "2017",
            "month": "10",
            "updated_at": "2017-10-23 19:08:12"
        },
        {
            "id": 8,
            "year": "2017",
            "month": "10",
            "updated_at": "2017-10-20 20:13:07"
        },
        {
            "id": 10,
            "year": "2017",
            "month": "09",
            "updated_at": "2017-09-23 19:05:52"
        },
        {
            "id": 4,
            "year": "2017",
            "month": "09",
            "updated_at": "2017-09-18 17:32:49"
        },
        {
            "id": 3,
            "year": "2017",
            "month": "07",
            "updated_at": "2017-07-22 17:34:20"
        },
        {
            "id": 6,
            "year": "2017",
            "month": "07",
            "updated_at": "2017-07-02 17:28:49"
        },
        {
            "id": 12,
            "year": "2017",
            "month": "06",
            "updated_at": "2017-06-15 15:31:18"
        },
        {
            "id": 11,
            "year": "2017",
            "month": "06",
            "updated_at": "2017-06-11 15:32:16"
        }
    ]

    期望所得数据如下

        "2018": {
            "03": [{
                "id": 15,
                "updated_at": "2018-03-01"
            }],
            "02": [{
                "id": 14,
                "updated_at": "2018-02-24"
            }]
        },
        "2017": {
            "12": [{
                "id": 13,
                "updated_at": "2017-12-02"
            }],
            "11": [{
                "id": 5,
                "updated_at": "2017-11-10"
            }, {
                "id": 7,
                "updated_at": "2017-11-07"
            }],
            "10": [{
                "id": 9,
                "updated_at": "2017-10-23"
            }, {
                "id": 8,
                "updated_at": "2017-10-20"
            }],
            "09": [{
                "id": 10,
                "updated_at": "2017-09-23"
            }, {
                "id": 4,
                "updated_at": "2017-09-18"
            }],
            "07": [{
                "id": 3,
                "updated_at": "2017-07-22"
            }, {
                "id": 6,
                "updated_at": "2017-07-02"
            }],
            "06": [{
                "id": 12,
                "updated_at": "2017-06-15"
            }, {
                "id": 11,
                "updated_at": "2017-06-11"
            }]
        }
    }
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • ╭丅輩孒゛续約つ 普通会员 1楼

      在JavaScript中,你可以使用Array.from()方法将数组解析成多维数组。Array.from()方法接受一个或多个数组作为参数,并返回一个新的数组,其中包含所有这些数组的元素。

      以下是一个例子:

      ```javascript let arr1 = [1, 2, 3]; let arr2 = [4, 5, 6]; let arr3 = [7, 8, 9];

      let multiArray = Array.from({length: 3}, (v, k) => [arr1[k], arr2[k], arr3[k]]); console.log(multiArray); // 输出:[[1, 4, 7], [2, 5, 8], [3, 6, 9]] ```

      在这个例子中,我们首先创建了三个数组arr1、arr2和arr3。然后,我们使用Array.from()方法将这些数组的元素重新组合成一个新的多维数组。最后,我们打印出这个新的多维数组。

      注意,Array.from()方法不会修改原始的数组,而是返回一个新的数组。如果你想要修改原始的数组,你可以直接使用数组的push()方法。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部