获取包含对象的数组索引的最佳方法是什么?

想象一下这个场景:

var hello = {
    hello: 'world',
    foo: 'bar'
};
var qaz = {
    hello: 'stevie',
    foo: 'baz'
}

var myArray = [];
myArray.push(hello,qaz);

现在我想要indexOf,这个对象的hello属性是'stevie',在这个例子中是1.

我是JavaScript的新手,我不知道是否有一个简单的方法,或者我是否应该构建自己的函数来做到这一点.

推荐答案

我想你可以用map函数一行解决它:

pos = myArray.map(function(e) { return e.hello; }).indexOf('stevie');

Javascript相关问答推荐

如何使用JavaScript动态地将CSS应用于ToDo列表?

当promise 在拒绝处理程序被锁定之前被拒绝时,为什么我们会得到未捕获的错误?

仅圆角的甜甜圈图表

Chrome是否忽略WebAuthentication userVerification设置?""

在nextjs服务器端api调用中传递认证凭证

使用Java脚本导入gltf场景并创建边界框

为什么我的getAsFile()方法返回空?

从页面到应用程序(NextJS):REST.STATUS不是一个函数

检索相加到点的子项

如何在.NET Core中将chtml文件链接到Java脚本文件?

使用auth.js保护API路由的Next.JS,FETCH()不起作用

TinyMCE 6导致Data:Image对象通过提供的脚本过度上载

Phaser3 preFX addGlow不支持zoom

我正在试着做一个TicTacToe Ai来和我玩.但是,我试着在第一个方块被点击时出现一个X,然后在第二个方块之后出现一个O

如何在脚本编译后直接将RxJ模块导入浏览器(无需Angel、webpack、LiteServer)

为什么我看到的是回复,而不是我的文档?

我无法在Api Reaction本机上发出GET请求

如何设置时间选取器的起始值,仅当它获得焦点时?

React数组查找不读取变量

Refine.dev从不同的表取多条记录