使用Array.prototype.findIndex()查找对象

时间:2018-01-08 12:37:29

标签: javascript arrays

我正在查看使用findIndex()的一些示例,但我认为他们通过将搜索值设置为函数内的静态变量来提供静态示例。

我想在数组中找到对象的索引,以便稍后调用它。 到目前为止我的表现如下:

https://jsfiddle.net/osbb5zgc/5/

var array1 = [{name: "Adam", id: 23},{name: "Badam", id: 55}];
var target = 55;

var res = array1.findIndex(function(element){
    return element.id === target;
});

// Returns 1

正确返回1,因为{name:“Badam”,id:55}的索引, 但有没有更好的方法将目标变量传递给函数?或者在大多数情况下这会起作用吗?

1 个答案:

答案 0 :(得分:1)

如果search_array中的值是标量,则只需使用indexOf

search_array.indexOf(target)

<强>演示

&#13;
&#13;
var search_array = [5, 12, 8, 130, 44];
var target = 44;

console.log("Index of target is " + search_array.indexOf(target));
&#13;
&#13;
&#13;

但是,如果值是数组对象,那么findIndex是正确的使用方法。