在数组验证中添加循环时出错

Error adding loop for in array validation

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

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

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

{
    "testOne": [{
            "situation": {
                "status": "reproved"
            }
        },
        {
            "situation": {
                "status": "rejected"
            }
        },
        {
            "situation": {
                "status": "approved"
            }

        }
    ]
}

我需要验证每个状态。

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

谢谢

您不能直接 运行 for 循环的原因是因为 testOne 数组嵌套在一个对象中。

另外,数组本身还有进一步的嵌套。因此,我认为处理此问题的最佳方法是在对象上使用点并检索 testOne 数组,然后在该数组上使用 for 循环或使用 Array.prototype.forEach( ) 函数.

下面两种方法我都提供了,你可以选择你方便的一种。

const test = {
  testOne: [
    {
      situation: {
        status: 'reproved',
      },
    },
    {
      situation: {
        status: 'rejected',
      },
    },
    {
      situation: {
        status: 'approved',
      },
    },
  ],
};

//retrieving testOne from  test object via dot syntax
const testOne  = test.testOne; 

//Approach 1 - For Loop - on testOne array
console.log('Approach - 1');
for (let i = 0; i < testOne.length; i++) {
  console.log(testOne[i].situation.status);
}

//Approach 2 - Array.prototype.forEach( ) - on testOne array
console.log('Approach - 2');
testOne.forEach(function(obj){
console.log(obj.situation.status)
});

testOne 更改为一个数组(现在它是一个对象)并循环遍历该数组以获取状态。看看我的fiddle.

https://jsfiddle.net/bradberkobien/m68sLp03/11/