📌  相关文章
📜  如何在与 jQuery 中的条件匹配的数组中获取对象的索引?

📅  最后修改于: 2021-11-24 04:42:38             🧑  作者: Mango

jQuery 是一个免费的开源 JavaScript 库,旨在为 HTML 网页添加交互性。 jQuery 在功能方面类似于 JavaScript,但使其流行的是它的简单性和易用性。 jQuery 捆绑了内置方法,可帮助实现所需的输出。在本文中,我们将讨论 jQuery 中的两种方法,它们可用于获取数组中与给定条件匹配的对象的索引。这两种方法讨论如下。

  1. findIndex():此方法为数组中存在的每个元素执行作为参数传递的函数。
    • 句法:
      array.findIndex(function(curr, index, arr), thisVal)
    • 范围:
      • curr:将在其上执行函数的数组的当前元素。这是
        强制参数。
      • index:当前元素的索引。这是可选参数。
      • arr:当前元素所属的数组。这是可选参数。
      • thisVal:这个值作为它的“this”值传递给函数。如果这个参数是
        未指定,值“undefined”作为“this”值传递。该参数是可选的。
    • 返回值:此方法返回返回的第一个元素的索引
      函数的值为真。如果未找到匹配项,则返回 -1。如果有多个元素
      满足条件,则返回第一个匹配元素的索引。
  2. some(): arr.some() 方法检查数组中是否至少有一个元素满足参数方法检查的条件。
    • 句法:
      array.some(function(curr, index, arr), thisval)
    • 范围:
      • curr:将在其上执行函数的数组的当前元素。这是
        强制参数。
      • index:当前元素的索引。这是可选参数。
      • arr:当前元素所属的数组。这是可选参数。
      • thisVal:这个值作为它的“this”值传递给函数。如果这个参数是
        未指定,值“undefined”作为“this”值传递。该参数是可选的。
    • 返回值:此方法返回返回的第一个元素的索引
      函数的值为“true”。如果未找到匹配项,则返回 -1。如果有多个元素
      满足条件,则返回第一个匹配元素的索引。

方法 1:在第一种方法中,我们展示了使用 jQuery 的findIndex()方法在匹配给定条件的数组中查找对象索引的过程。 findIndex()方法将函数作为第一个参数。该函数对数组的每个元素执行,函数返回“true”的元素是与指定条件匹配的元素。因此,该匹配元素的索引存储在索引变量中。索引变量的值返回到控制台。同样,对于 index1 变量,存在多个年龄 =“20”的对象。在这种情况下,将返回第一个匹配对象的索引。如果不存在匹配项,则输出为 -1。

// Write JavaScript code here
var arr = [
    { name: "ram", age: "20" }, 
    { name: "sam", age: "20" },
    { name: "tom", age: "19" }, 
    { name: "harry", age: "19" }
];
  
var index;
  
arr.findIndex(function (entry, i) {
    if (entry.name == "tom") {
        index = i;
        return true;
    }
});
  
// Arrow function expression ( =>) is 
// an alternative to a traditional 
// function expression
// It has limited use and returns the
// index of the first element for 
/// which the function returns "true"
index1 = arr.findIndex(x => x.age === "20");
  
console.log(index);
console.log(index1); 

输出:

2
 0

方法 2:在第二种方法中,我们展示了使用 jQuery 的some()方法在匹配给定条件的数组中查找对象索引的过程。 some()方法将函数作为第一个参数。该函数对数组的每个元素执行,函数返回“true”的元素是与指定条件匹配的元素。因此,该匹配元素的索引存储在索引变量中。索引变量的值返回到控制台。

// Write Javascript code here
var arr = [
    { name: "ram", age: "20" }, 
    { name: "sam", age: "21" },
    { name: "tom", age: "19" }, 
    { name: "harry", age: "19" }
];
  
var index;
  
arr.some(function (entry, i) {
    if (entry.name == "tom") {
        index = i;
        return true;
    }
});
  
console.log(index);

输出:

2