JavaScript提供数组数据结构,以便在单个变量中存储多个项或数据。单个数组可以存储单个或多个项,在使用过程中可以在其中添加、更新和删除这些项。即使是数组变量也提供了一个add、update、remove函数,因为不同的原因,您可能需要循环或迭代JavaScript数组。在本教程中,我们将研究如何循环或迭代JavaScript数组?
创建示例数组
在开始JavaScript数组的循环之前,我们将创建一些具有不同类型项的示例数组。
var names = [ "Ahmet" , "Ali" , "Baydan" , "Elif" ];var numbers = [ 1 , 2 , 3 , 4 , 5 , 6 ];var names_numbers = [ 1 , 2 , 3 , 4 , 5 , 6 , "Ahmet" , "Ali" , "Baydan" , "Elif" ];
JavaScript数组循环/迭代方法
JavaScript提供了不同的方法来在数组上进行迭代或循环。下面是JavaScript数组循环方法的列表。
- for语句
- for/in语句
- for/of语句
- while语句
- do/while语句
带for的循环数组
for
是一种流行的迭代语句,它由所有流行的编程语言提供。for主要用于迭代给定的数组。for语句具有以下语法。
for( start_statement ; condition ; step_process){ code;}
- 开始u语句 仅在for语句启动时执行一次。
- 条件 是在每次迭代中都要检查的条件,如果不是true,则for语句将退出或结束。
- 步进法 在每次迭代中都要计算,通常用来增加一些计数器。
- 代码 是将在每次迭代中执行的代码块。
下面是一个如何循环JavaScript数字数组、字符串数组或复杂数组的示例。
var names = [ "Ahmet" , "Ali" , "Baydan" , "Elif" ];var numbers = [ 1 , 2 , 3 , 4 , 5 , 6 ];var names_numbers = [ 1 , 2 , 3 , 4 , 5 , 6 , "Ahmet" , "Ali" , "Baydan" , "Elif" ];for ( i = 0 ; i < names.length ; i++) { console.writeln(names[i]);}for ( i = 0 ; i < numbers.length ; i++) { console.writeln(numbers[i]);}for ( i = 0 ; i < names_numbers.length ; i++) { console.writeln(names_numbers[i]);}
带for/in的循环数组
for..in语句的用法与for..类似,每个都是用其他流行的编程语言定义的。我们可以使用它来迭代数组包含的给定项列表。for/in有以下简单语法。这对于迭代JSON对象尤其有用。
for ( VARIABLE in ARRAY ) { CODE;}
- 变量 在当前项的每次迭代中设置。
- 数组 数组数据,它的每一项都将依次迭代。
- 代码是将在每次迭代中执行的代码块。
var names = [ "Ahmet" , "Ali" , "Baydan" , "Elif" ];var numbers = [ 1 , 2 , 3 , 4 , 5 , 6 ];var names_numbers = [ 1 , 2 , 3 , 4 , 5 , 6 , "Ahmet" , "Ali" , "Baydan" , "Elif" ];for ( item in names) { console.writeln( item );}for ( item in numbers ) { console.writeln( item );}for ( item in names_numbers ) { console.writeln( item );}
带for/of的循环数组
for..of语句提供了与for..相同的用法,其中它将迭代给定的iterable对象,如数组、字符串、映射等。语法如下所示。
for ( VARIABLE of ARRAY ) { CODE;}
我们可以看到下面关于for..of语句的例子。
var names = [ "Ahmet" , "Ali" , "Baydan" , "Elif" ];var numbers = [ 1 , 2 , 3 , 4 , 5 , 6 ];var names_numbers = [ 1 , 2 , 3 , 4 , 5 , 6 , "Ahmet" , "Ali" , "Baydan" , "Elif" ];for ( item of names) { console.writeln( item );}for ( item of numbers ) { console.writeln( item );}for ( item of names_numbers ) { console.writeln( item );}
带while的循环数组
while语句是其他语言提供的另一种流行的循环语句。它提供了比for循环更简单的用法。我们可以使用while循环来迭代数组。而循环有以下语法。
while(condition){ code;}
- 条件 将在每个步骤中进行检查,如果为false,则循环将结束。
- 代码 将在循环的每个步骤中执行。
var names = [ "Ahmet" , "Ali" , "Baydan" , "Elif" ];var numbers = [ 1 , 2 , 3 , 4 , 5 , 6 ];var names_numbers = [ 1 , 2 , 3 , 4 , 5 , 6 , "Ahmet" , "Ali" , "Baydan" , "Elif" ];i = 0 ;while ( i++ < names.length ) { console.writeln( names[i] );}i = 0 ;while ( i++ < numbers.length ) { console.writeln( numbers[i]);}i = 0 ;while ( i++ < names.length ) { console.writeln( names_numbers[i]);}
带do/while的循环数组
做……一会儿 循环与while循环非常相似。唯一的区别是先迭代循环,然后在do..while循环中检查条件。do..while循环具有以下语法。
do { code;} while (condition)
数组可以用do..while循环进行迭代,如下所示。
var names = [ "Ahmet" , "Ali" , "Baydan" , "Elif" ];var numbers = [ 1 , 2 , 3 , 4 , 5 , 6 ];var names_numbers = [ 1 , 2 , 3 , 4 , 5 , 6 , "Ahmet" , "Ali" , "Baydan" , "Elif" ];i = 0 ;do { console.writeln( names[i] );} while ( i++ < names.length )i = 0 ;do { console.writeln( numbers[i]);} while ( i++ < numbers.length )i = 0 ;do { console.writeln( names_numbers[i]);} while ( i++ < names.length )
使用Array.forEach()方法循环数组
JavaScript数组类型提供了 forEach() 以迭代指定的数组。使用数组变量调用forEach()方法。forEach()方法接受一个函数,该函数有3个参数用于循环。这3个参数是:;
- 项目值
- 项目索引
- 数组本身
如果未指定索引和数组,则只能指定项值,则并非所有3个参数都是必需的。
var names = [ "Ahmet" , "Ali" , "Baydan" , "Elif" ];var numbers = [ 1 , 2 , 3 , 4 , 5 , 6 ];var names_numbers = [ 1 , 2 , 3 , 4 , 5 , 6 , "Ahmet" , "Ali" , "Baydan" , "Elif" ];function f1(value){ console.writeln(value);}function f2( value , index , array ){ console.writeln(index); console.writeln(value);}names.forEach(f1);numbers.forEach(f2);names_numbers.forEach(f1);