在对象的JavaScript数组中查找属性

在对象的JavaScript数组中查找属性,javascript,jquery,underscore.js,lodash,Javascript,Jquery,Underscore.js,Lodash,我有一个JavaScript数组,看起来像这样。数组包含不同类型的对象 [ { "className": "XXXX", "targets": [ 0, 1, 2, 3, 4 ], "sClass": "lg" }, { "iDataSort": 0 },

我有一个JavaScript数组,看起来像这样。数组包含不同类型的对象

[
    {
        "className": "XXXX",
        "targets": [
            0,
            1,
            2,
            3,
            4
        ],
        "sClass": "lg" 
    },
    {
        "iDataSort": 0
    },
    {
        "targets": [
            9,
            10
        ]
    },
    {
        "targets": [
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15
        ],
        "visible": false,
        "bVisible": false
    }
]
我想在这个数组中搜索一个元素(对象),它包含两个名为
targets
visible
的属性,一旦找到这个对象,我想更新
targets
属性的值

最有效的方法是什么?是否可以使用下划线或lodash进行此操作

在此上下文中,尝试使用
$.each()
以及
.hasOwnProperty(propertyName)

$.each(test, function (i, val) {
    if (val.hasOwnProperty("visible") && val.hasOwnProperty("targets")) {
        alert('yes..')
    }
});

你想更新第一个这样的项目还是所有这样的项目?可能重复的@IngoBürk:只有第一个实例:)非常好的问题:)@SharpCoder然后你必须使用你接受的答案小心。仅从内部函数返回不会阻止更新所有此类项。