【问题标题】:Object to Array in JavascriptJavascript中的对象到数组
【发布时间】:2017-09-07 05:55:36
【问题描述】:

我有一个像这样的对象。如何在 JavaScript 中将其转换为数组。

我很努力,但它不起作用,我无法提醒或控制台记录它。

我在下面有这个对象

{
    "2017": {
        "08": [{
            "id": "22",
            "pass": "temp1"
        }, {
            "id": "23",
            "pass": "af",
        }],

        "09": [{
            "id": "25",
            "pass": "zx"

        }]
    },

    "2018": {
        "08": [{
            "id": "24",
            "pass": "gre"
        }]
    }
}

这是我希望它在 JavaScript 中的数组

Array
(
    [2017] => Array
        (
            [08] => Array
                (
                    [0] => Array
                        (
                            [id] => 22
                            [pass] => temp1
                        )

                    [1] => Array
                        (
                            [id] => 23
                            [pass] => af
                        )

                )

            [09] => Array
                (
                    [0] => Array
                        (
                            [id] => 25
                            [pass] => zx

                        )

                )

        )

    [2018] => Array
        (
            [08] => Array
                (
                    [0] => Array
                        (
                            [id] => 24
                            [pass] => gre
                        )

                )

        )

)

非常感谢您的回答

【问题讨论】:

  • 你想要的阵列是什么?
  • 喜欢这个对象,但我想要一个循环它的钥匙
  • 您可以使用Object.keys()Object.values()
  • 用你想要的数组更新问题,这样其他用户解决问题会更容易
  • 您发布的数组是PHP关联数组。在 JavaScript 中,它表示为您已经拥有的对象。请参阅我的答案以了解如何对其进行迭代

标签: javascript arrays object


【解决方案1】:

您可以使用 underscore.js 来执行此操作:

_(obj).each(function(elem, key){
   arr.push(elem[0]);
});

【讨论】:

  • 为什么要使用 underscore.js?有一个简单的纯 JS 解决方案。不需要为此加载任何库
【解决方案2】:

首先,我想告诉你,这不仅仅是一个 JavaScript 对象,它是一个 JSON 对象列表。

在某个变量中获取这个列表,然后像下面的链接一样使用它。

Loop through JSON object List

【讨论】:

  • 但它是一个JS对象。
  • 你是对的。这是一个对象,但关注的是对象包含什么。它包含一个对象列表。
  • 根据有问题的代码 sn-p,JS 对象包含一个 JSON 对象列表。
【解决方案3】:

如果您只想循环遍历对象,则不必将其转换为数组。在 JavaScript 中,for...in 循环在这种情况下将是完美的。像这样使用它:

var myobj = {
    key1: "val1",
    key2: "val2",
    key3: "val3",
}

for(var key in myobj){
    var value = myobj[key];

    console.log(key, value);
}

访问 this link 了解更多关于 for...in 循环的信息

【讨论】:

    猜你喜欢
    • 2022-09-26
    • 1970-01-01
    • 2017-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-14
    • 2022-11-25
    相关资源
    最近更新 更多