小编Art*_*mat的帖子

如何检查数组是否具有已定义值的嵌套属性

我在 javascript 中有一组复杂的对象和数组,例如:

var array = [
    { "simpleProp": "some value" },
    { "booleanProp": false },
    {
        "arrayProp": [
            { "prop1": "value1" },
            {
                "prop2": {
                    "prop22": "value22",
                    "prop23": "value23"
                } 
            },
            { "prop3": "value3" },
            { "booleanProp": true }
        ]
    }
];
Run Code Online (Sandbox Code Playgroud)

我必须知道我的数组中是否有一个具有定义值的属性,例如:

   function some(array, property, value) {
        //some logic here
       // return boolean
    };
Run Code Online (Sandbox Code Playgroud)

也就是说,对于我的源数组,结果如下:

var result = some(array, "booleanProp", true) - 必须为真。

我尝试使用 lodash 函数 _.some(),但它为我的数组返回 false,看来 _.some() 找不到深层嵌套的属性。

如果函数可以支持复杂对象作为源,而不仅仅是数组,那将是非常酷的。

我很感激任何帮助,谢谢。

javascript knockout.js lodash

1
推荐指数
1
解决办法
1913
查看次数

标签 统计

javascript ×1

knockout.js ×1

lodash ×1