📅  最后修改于: 2023-12-03 15:17:03.486000             🧑  作者: Mango
在 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()
方法都可以获取数组中某个项目的索引,但是它们的用法和实现方式有所不同。在具体使用时,可以根据需要来选择使用哪种方法。