为数组内验证添加循环时出错

我无法执行 for 循环。我有一个数组。其中有几个物体。其中之一,我需要做出期待。


我可以做出几个期望,但我相信这不是一个好的做法,因为循环会适合。


但我该怎么做呢?我不能...=///


{

    "testOne": [{

            "situation": {

                "status": "reproved"

            }

        },

        {

            "situation": {

                "status": "rejected"

            }

        },

        {

            "situation": {

                "status": "approved"

            }


        }

    ]

}

我需要验证每个状态。


如何创建循环来遍历数组中的所有项目(在本例中为状态)?


拉莫斯之舞
浏览 112回答 2
2回答

哈士奇WWW

无法直接运行 for 循环的原因是testOne数组嵌套在对象内。此外,数组本身还有进一步的嵌套。因此,我认为处理这个问题的最佳方法是在对象上使用点并检索 testOne数组,然后在该数组上使用 for 循环或使用 Array.prototype.forEach( ) 函数。我在下面提供了两种方法,您可以选择一种适合您的方法。const test = {&nbsp; testOne: [&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; situation: {&nbsp; &nbsp; &nbsp; &nbsp; status: 'reproved',&nbsp; &nbsp; &nbsp; },&nbsp; &nbsp; },&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; situation: {&nbsp; &nbsp; &nbsp; &nbsp; status: 'rejected',&nbsp; &nbsp; &nbsp; },&nbsp; &nbsp; },&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; situation: {&nbsp; &nbsp; &nbsp; &nbsp; status: 'approved',&nbsp; &nbsp; &nbsp; },&nbsp; &nbsp; },&nbsp; ],};//retrieving testOne from&nbsp; test object via dot syntaxconst testOne&nbsp; = test.testOne;&nbsp;//Approach 1 - For Loop - on testOne arrayconsole.log('Approach - 1');for (let i = 0; i < testOne.length; i++) {&nbsp; console.log(testOne[i].situation.status);}//Approach 2 - Array.prototype.forEach( ) - on testOne arrayconsole.log('Approach - 2');testOne.forEach(function(obj){console.log(obj.situation.status)});

动漫人物

更改testOne为数组(现在它是一个对象)并循环遍历数组以获取状态。看看我的小提琴。https://jsfiddle.net/bradberkobien/m68sLp03/11/
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript