javascript - 根据条件过滤嵌套数组

标签 javascript arrays ecmascript-6

我有一个像这样的对象:

runs = 
    {
        "suites": [
            {
                "status": "fail",
                "testcases": [
                    {
                        "status": "pass"
                    },
                    {
                        "status": "fail"
                    }
                ]
            },
            {
                "status": "pass",
                "testcases": [
                    {
                        "status": "pass"
                    }
                ]
            }
        ]
    }

我想检索测试用例通过和失败的计数(在上述情况下通过:2,失败:1)。我尝试了以下方法来获取通过次数:

runs.suites.filter(suite => {
    suite.testcases.filter(testcase => {
        return testcase.status === 'pass';
    })
}).length

但它给了我一个不正确的结果。

最佳答案

试试这个

// Code goes here

    runs = 
        {
            "suites": [
                {
                    "status": "fail",
                    "testcases": [
                        {
                            "status": "pass"
                        },
                        {
                            "status": "fail"
                        }
                    ]
                },
                {
                    "status": "pass",
                    "testcases": [
                        {
                            "status": "pass"
                        }
                    ]
                }
            ]
        };
        var count = 0;
        var test = runs.suites.filter(suite => {
            suite.testcases.filter(testcase => {
                (testcase.status=='pass')?count++:count;
            })
            return count;
        });

    console.log(test.length);

关于javascript - 根据条件过滤嵌套数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38305606/

相关文章:

javascript - 将 ngAnimate 与 Angular-Formly 结合使用 (ngHide/ngShow)

javascript - 如何在 node.js 上连接 reactJS 和 mysql

javascript - ECMA6 中的 promise : How to modify promise to hold its resolved value after that promise has already been returned in a function?

typescript - 如何迭代 TypeScript 中通用对象的键?

Javascript 对象比较和赋值

javascript - jQuery Blur() 或 focusout() 在 Internet Explorer 中未触发

javascript双函数执行

c - 将值放入结构数组中?

javascript - 为数组的某些值设置样式

Javascript 如果数组包含带有正则表达式的字符串