第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > 数组的5种遍历(for循环 for...in for...of forEach() map()

数组的5种遍历(for循环 for...in for...of forEach() map()

时间:2019-01-23 02:05:06

相关推荐

数组的5种遍历(for循环 for...in for...of forEach() map()

数组:内存中一块连续的存储单元,这些存储单元具有共同的名称,不同的索引(下标)。

数组5种遍历:

1、for循环

任何数组都可以使用for循环进行遍历,使用频率最高

for (let i = 0; i < arr.length; i++) {

循环体语句

}

注意:数组下标从0开始,所以计数器的初始值为0,条件为计数器<数组长度。

2、for ...in

主要用于遍历对象,数组/集合不太推荐使用,避免出现不必要的问题

for(index in 数组名){

循环体语句

}

index:表示的是数组元素的索引

注意:(1)index索引为字符串型数字,不能直接进行几何运算

(2)for...in遍历的是数组的索引(即键名)

3、for ...of

只遍历数组 ,不可遍历对象

for( value of 数组名){

循环体语句

}

value:表示数组元素

注意:它可以正确响应break,continue,return语句

4、forEach();

用于遍历数组

数组名.forEach(function(value,index){

函数体语句

})

value:表示数组元素

index:数组元素的下标

数组元素的下标:数组元素在数组中的位置编号(从0开始到数组的长度减1)

注意:对于forEach方法除非使用try/catch,否则无法中途停止循环,break或者return都无法使循环中途停止。

5. map();

实际是对数组的过滤。返回一个新的数组,原数组不变

let 新数组名 = 原数组名.map(function(item){ //item表示数组元素

函数体语句

})

注意:(1)map支持return;

(2)map() 不会对空数组进行检测;

(3)map() 不会改变原始数组;

(4)map() 返回一个新数组,数组中元素为原始数组元素调用函数处理后的值。

forEach()和map()区别:

a、forEach()和map()通常用来遍历数组元素

b、forEach()返回的是undefinded,用来遍历数组中的每一项,不影响原数组

c、map()返回一个包含已转换元素的新数组,支持return

for...of 和 for..in的区别:

a、for...in 既可以遍历对象也可以遍历数组,in中的k一般指的是下标

b、for...of 只可以遍历数组,不可遍历对象,of中的k表示的就是元素

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。