📅  最后修改于: 2023-12-03 15:09:00.313000             🧑  作者: Mango
有时候,我们需要在一个数组中找到特定条件匹配的对象,并获取其索引。这在jQuery中非常常见,可以使用$.grep()
函数来筛选数组中的元素。
使用$.grep()
函数之后,会返回一个新的数组,其中包含符合条件的元素。我们可以使用该数组的indexOf()
方法来获取原始数组中对象的索引。
以下是一个示例代码:
var myArray = [
{id: 1, name: 'John'},
{id: 2, name: 'Kate'},
{id: 3, name: 'Tom'}
];
var filteredArray = $.grep(myArray, function(obj){
return obj.name === 'Kate';
});
console.log(myArray.indexOf(filteredArray[0])); // 1
在上面的代码中,我们使用$.grep()
函数来获取name
属性为Kate
的对象。然后,我们使用indexOf()
方法来获取该对象在原数组中的索引。
需要注意的是,indexOf()
方法只返回第一个匹配的索引,如果数组中有多个符合条件的对象,仅返回第一个对象的索引。如果需要获取所有符合条件的对象的索引,可以使用循环来实现。