📌  相关文章
📜  js 获取数组中项目的索引 - Javascript (1)

📅  最后修改于: 2023-12-03 15:17:03.486000             🧑  作者: Mango

JavaScript: 获取数组中项目的索引

在 JavaScript 中,可以使用 indexOf() 方法或 findIndex() 方法来获取数组中某个项目的索引。这些方法的实现方式不同,可以根据具体情况选择使用哪种方法。

使用 indexOf() 方法

indexOf() 方法可以返回数组中某个项目的索引,如果数组中不存在该项目,则返回 -1。它的用法如下:

const array = ['a', 'b', 'c', 'd'];

const index = array.indexOf('b');

console.log(index); // 1

在上述代码中,我们定义了一个包含四个字符串的数组 array,然后使用 indexOf() 方法获取了其中字符串 'b' 的索引,并将结果保存在变量 index 中。最后,将变量 index 的值输出到控制台中,结果为 1。

如果数组中不存在该项目,则 indexOf() 方法将返回 -1。例如:

const array = ['a', 'b', 'c', 'd'];

const index = array.indexOf('e');

console.log(index); // -1

在上述代码中,虽然我们使用 indexOf() 方法获取了字符串 'e' 的索引,但是该字符串并不存在于数组 array 中,因此返回值为 -1。

使用 findIndex() 方法

findIndex() 方法可以返回数组中满足某个条件的项目的索引,如果数组中不存在满足该条件的项目,则返回 -1。它的用法如下:

const array = [
  { name: 'apple', price: 1 },
  { name: 'banana', price: 2 },
  { name: 'orange', price: 3 },
  { name: 'peach', price: 4 },
];

const index = array.findIndex((item) => item.price === 3);

console.log(index); // 2

在上述代码中,我们定义了一个包含四个对象的数组 array,每个对象都包含一个 name 属性和一个 price 属性。然后,我们使用 findIndex() 方法获取了其中满足条件 item.price === 3 的对象的索引,并将结果保存在变量 index 中。最后,将变量 index 的值输出到控制台中,结果为 2。

如果数组中不存在满足该条件的项目,则 findIndex() 方法将返回 -1。例如:

const array = [
  { name: 'apple', price: 1 },
  { name: 'banana', price: 2 },
  { name: 'orange', price: 3 },
  { name: 'peach', price: 4 },
];

const index = array.findIndex((item) => item.price === 5);

console.log(index); // -1

在上述代码中,虽然我们使用 findIndex() 方法获取了满足条件 item.price === 5 的对象的索引,但是没有任何一个对象的 price 属性的值等于 5,因此返回值为 -1。

总结

使用 indexOf() 方法和 findIndex() 方法都可以获取数组中某个项目的索引,但是它们的用法和实现方式有所不同。在具体使用时,可以根据需要来选择使用哪种方法。