编写一个 JavaScript 程序,查找数组中特定元素的索引?


数组是一个对象,它以顺序方式包含多个相同数据类型的值。换句话说,我们可以说数组是 JavaScript 中的一种特殊类型的对象。

语法

我们可以在 JavaScript 中以两种方式创建数组。语法如下所示:

var arr = [val1, val2, …];
var arr = new Array(“val1”, “val2”, …)

现在让我们来看一个简单的 JavaScript 程序,创建一个数组并打印其索引值:

var arr = [1,2,3,4,5]; document.write(arr[0]);

这里,程序返回数组中第 0 个索引的内容,即 '1',作为输出。

数组的元素

元素是数组中存在的值,索引指示元素在数组中的位置。

数组的每个实体(值)称为元素,这些元素的位置由一个称为索引的数值指示。索引从 0 开始,到 **数组长度-1** 结束。在下图中,**22** 是数组的一个元素,其索引为 **0**。


使用 for 循环

使用 for 循环和 if 条件,我们可以在给定数组中找到元素的索引。

for 循环用于遍历给定数组的所有元素,其中 'i' 表示数组的索引,并使用条件语句 **if**,我们可以将每个元素与所需的元素(要搜索的元素)进行匹配,并打印匹配元素的索引。

为了查找数组中特定元素的索引,我们有各种方法。让我们逐一讨论它们并提供相应的示例。

示例 1

在以下示例中,我们采用硬编码的输入值,并使用 for 循环查找该值的索引。我们首先创建一个包含一些元素的数组,然后使用 for 循环获取所有数组元素,并使用条件语句进行比较。

Open Compiler
<!DOCTYPE html> <html lang="en"> <head> <title>Array Index</title> </head> <body> <script> var subjects = ["English", "Hindi", "Science", "Mathematics"]; for(let i = 0; i<subjects.length; i++){ if(subjects[i] == 'Hindi') document.write("Index of particular element is = " + i); } </script> </body> </html>

示例 2

让我们来看另一个示例,在这个示例中,我们将从用户那里获取输入,并迭代地比较元素以查找输入元素的索引:

Open Compiler
<!DOCTYPE html> <html lang="en"> <head> <title>Array Index</title> </head> <body> <script> var subjects = ["English", "Hindi", "Science", "Mathematics"]; var sname = prompt("Enter a subject name: ") for(let i = 0; i<subjects.length; i++){ if(subjects[i] == sname) document.write("Index of particular element is = " + i); } </script> </body> </html>

Learn JavaScript in-depth with real-world projects through our JavaScript certification course. Enroll and become a certified expert to boost your career.

使用 indexOf() 方法

JavaScript 中的 **indexOf()** 方法用于检索数组中特定元素的索引。

JavaScript **indexOf()** 方法接受一个表示我们需要查找的元素的字符串值作为参数,并返回该特定元素的位置。如果未找到该值,则返回 -1。以下是此方法的语法:

语法

arr.indexOf(char)

示例

在以下程序中,我们使用 JavaScript 中名为 indexOf() 的内置方法,该方法查找数组中元素的索引。

Open Compiler
<!DOCTYPE html> <html lang="en"> <head> <title>Array Index</title> </head> <body> <script> var color = ['red', "black", 'green', 'orange', 'yellow']; var cname = prompt("Enter a color name: "); var index = color.indexOf(cname); document.write("Index of particular element is = " + index); </script> </body> </html>

使用 findIndex() 方法

**findIndex()** 是 JavaScript 中的内置方法,我们可以使用此方法查找数组中特定元素的索引。

语法

以下是此方法的语法:

var index = arr.findIndex(varibale => variable.property(=,>,===) value;

示例

在以下示例中,我们使用 **findIndex()** 方法查找指定元素的索引。使用此方法,我们找到从终端用户获取的输入元素的索引,并打印输出。

Open Compiler
<!DOCTYPE html> <html lang="en"> <head> <title>Array Index</title> </head> <body> <script> var arr = [1,2,3,4,5,6]; var num = Number(prompt("Enter a number:-")); var index = (element) => element === num; console.log(arr.findIndex(index)); document.write("Index of particular element is = "+ arr.findIndex(index)); </script> </body> </html>

更新于: 2022-08-29

974 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告