如何在jQuery中获取数组中符合条件的对象的索引

  • Post category:jquery

获取数组中符合条件的对象索引是在 jQuery 中操作数组时常见的需求。下面是获取数组中符合条件的对象索引的完整攻略:

步骤一:定义包含对象的数组

首先我们要定义一个包含对象的数组。例如,下面是一个包含多个“人”对象的数组:

var people = [
  {name: "Alice", age: 25},
  {name: "Bob", age: 30},
  {name: "Charlie", age: 35},
  {name: "David", age: 30},
  {name: "Eve", age: 25}
];

步骤二:使用 jQuery 的 each() 方法检查每个对象

我们可以使用 jQuery 的 each() 方法来遍历数组中的每个对象,并检查它们是否符合我们的条件。在这个例子中,我们想查找所有年龄为 30 岁的人。下面是如何使用 each() 方法来检查每个对象:

var indexes = [];
$.each(people, function(index, person) {
  if (person.age === 30) {
    indexes.push(index);
  }
});

上面的代码会遍历数组中的每个人对象,检查它们的年龄是否为 30,并将符合条件的对象的索引添加到 indexes 数组中。

步骤三:打印符合条件的对象索引

完成了上述步骤之后,我们就可以打印 indexes 数组中的所有元素了。下面是如何打印 indexes 数组中的所有元素:

console.log(indexes);

如果运行上述代码,控制台将打印出符合条件的对象的索引。

示例说明

示例一:查找年龄为 25 岁的人

假设我们要查找年龄为 25 岁的人,我们可以将步骤二中的 if 语句修改为:

if (person.age === 25) {
  indexes.push(index);
}

上述代码将查找年龄为 25 岁的 person 对象的索引并将它们添加到 indexes 数组中。最后,我们可以使用 console.log(indexes) 打印出符合条件的对象的索引。

示例二:查找名字为 Alice 的人

假设我们要查找名字为 Alice 的人,我们可以将步骤二中的 if 语句修改为:

if (person.name === "Alice") {
  indexes.push(index);
}

上述代码将查找名字为 Alice 的 person 对象的索引并将它们添加到 indexes 数组中。最后,我们可以使用 console.log(indexes) 打印出符合条件的对象的索引。