遍历数组for,for in,for Each,for of

一:for

var arr=[1,2,3,4];

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

    console.log(arr[i]);

}//输出1234

优化 for(var i=0,len=arr.length;i<len;i++)

在数组较大优化明显

二:for in

var arr=[1,2,3,4];

arr.nm="hello"

for(var i in arr){

    console.log(arr[i]);

}//输出1234hello

i会变成字符串类型

包括遍历私有属性

三:forEach

var arr=[1,2,3,4];

arr.forEach(function(item){//参数一般为两项arr项和arr索引

    console.log(item);

})//输出1234

声明式

forEach不支持return

四:for of

var arr=[1,2,3,4];
arr.nm="hello"

for(var value of arr){

    console.log(value);

}  //输出1234

既可以return也不遍历私有属性

值 of 数组

不能遍历对象

遍历对象用object.keys

let obj = {name:"zz",age:3};
          //['name','age']
for( let val of Object.keys(obj)){
    console.log(obj[val]);   //.val是undefined  val是name age 用obj[val]
} //输出zz 3

猜你喜欢

转载自blog.csdn.net/usernamehh/article/details/80268204