javascript - 使用jQuery测试数组中是否存在具有属性的对象

标签 javascript jquery arrays

谁能告诉我检查对象数组中的对象是否具有 11type 的最佳方法?

下面是我所拥有的,但它会针对数组中的每个对象发出警报,我可以检查整个数组并让它在最后只发出一次警报吗?

我见过像 grep 这样的方法,但我一直在尝试,但无法让它发挥作用。我正在使用 jQuery。

var x;
for (x = 0; x < objects.length; x++) {

    if (objects[x].type == 11) {
        alert("exists");
    } else {
        alert("doesnt exist");
    }
}

最佳答案

最好的方法是使用 Array.some :

var exists = objects.some(function(el) { return el.type === 11 });

在链接中还有一个不支持它的浏览器的垫片。

否则你可以迭代:

var exists = false;
for (var i = 0, el; !exists && (el = objects[i++]);)
    exists = el.type === 11;

一旦设置了 exists 变量,您就可以:

if (exists) {
    // do something
}

在这两种情况下都在循环之外。

关于javascript - 使用jQuery测试数组中是否存在具有属性的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14886398/

相关文章:

javascript - 如何在 Parse Cloud 中使用分页游标创建多个 HttpRequest

c# - 更改数组中索引的值,将从旧索引开始的索引向右移动,同时保留左侧的所有索引不变

javascript - Javascript 警报/消息框中的欧元符号或其他实体

javascript - 样式 Umbraco @Umbraco.GetDictionaryValue

javascript - 谷歌应用引擎 CORS “Error parsing ./app.yaml: Unknown url handler type”

javascript - IE8 数组和indexOf冲突

jquery - 多次验证器调用使用不显眼的方式动态添加内容

jquery - 在特定点显示div(下拉菜单样式),跨浏览器,跨分辨率

ios - Swift:对象数组搜索

C++是否可以在不知道数组长度的情况下输出数组中的所有数据?