javascript - 在 JavaScript 中查找对象数组中数组元素的索引?

标签 javascript jquery arrays

(首先,我已经在这里阅读问题和答案很长时间了,但这是我的第一篇文章。)

我找到了需要为其编写自己的函数的解决方案,但我必须相信有一种内置的方法可以做到这一点。

我正在使用 JavaScript 工作,并且有一组自定义对象,每个对象如下所示:

{ prop1: "1", prop2: "blah", prop3: "news", prop4: "2", prop5: "1" }
{ prop1: "2", prop2: "foo", prop3: "news", prop4: "2", prop5: "1" }
{ prop1: "3", prop2: "bar", prop3: "news", prop4: "2", prop5: "1" }
{ prop1: "4", prop2: "hello", prop3: "news", prop4: "2", prop5: "1" }

我想找到一种内置方法来查找给定其属性之一的值的对象之一的数组索引(对于本示例,如果我给它“prop2”和“bar”,它将返回索引2)。如果像您期望的那样使用 .indexOf 会很好,但显然对于自定义对象数组,它不会那样工作。

我已经找到了我自己的函数的代码,它工作得很好,但在我的固执中,我相信必须有一个内置的方法来做到这一点。我在这个项目中用 jQuery 做了很多事情,所以这绝对是一个选择。有什么建议吗?

最佳答案

您可以扩展 native 数组原型(prototype)来执行此操作,并将 propertyvalue 都作为字符串。这是JSFiddle来证明

Array.prototype.indexOfAssociative=function(property,value){
    for(var i=0;i<this.length;i++){
          if(this[i][property]==value){
               return i;
          }

    }
    return -1;
};

关于javascript - 在 JavaScript 中查找对象数组中数组元素的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20645992/

相关文章:

javascript - 使用 PHP(wordpress)从数据库中删除图像及其在数据库中的记录

c++ - 如何从数据库文件创建 QByteArray

javascript - 将路线从 app.js 移至 Route.js 并且应用程序不再工作

javascript - 使用数组创建动态图像 slider

javascript - 在其他JS文件后执行jQuery动态加载内容

javascript - jQuery 平滑滚动到页面的特定部分?

c - 在控制台上打印 C 数组

java - BufferedImage 到数组

javascript嵌套forEach,typeError

javascript - 想要使用减号图标关闭侧面板