JavaScript基础 forEach遍历

2018-01-30  本文已影响0人  0说

forEach 遍历

遍历数组,并让每一项去执行一个函数
参数函数:
第一个形参代表当前项的值
第二个形参代表当前项的序号
第三个形参代表数组本身

var arr = [ 1,2,8,6,10 ];
arr.forEach( function ( a , b , c )){
     console.log( a + '、' + b + '、' + c )
}
image.png
   1       、       0       、    1,2,8,6,10 
当前项的值       当前序号            数组本身    

应用

要让数组的值都加上1

arr.forEach(function ( a,b,c ){
   c[b] = ++a; // c是数组本身 [ 1,2,8,6,10 ] 
                  b是序号(0到4)的for循环
                  c[b]相当于c[0]、c[1]、c[2]、c[3]、c[4]
                  a就是当前项的值   ++a 先自增再赋值
})
console.log( arr );
结果

in

判断对象里面是否有某个属性
返回一个布尔值

 var obj = {
            "name" : "阿里",
            "age" : 25,
            "job" : "前端工程师"
        };
        console.log( "age" in obj ); 打印出true

for in

遍历出对象的所有属性

for( var key in obj ){ //声明一个变量用来遍历对象,通过名字来遍历
    console.log( key ) //做啥事
}

例:

var oBox = document.getElementById( 'box' );
for( var x in oBox ){
    console.log( x );
}
打印出oBox里所有属性

利用查询属性可以自己创建对象数据

例:

var obj = {
        name : '阿里',
        age  : '18',
        job  : '前端工程师',
        sex  : '1'   //注意:结束时不要加,用的时候会出错
}

上面可写成

obj.name = '阿里';
obj.age = '18';
obj.job = '前端工程师';
obj.sex = '1';

如果要修改里面的属性值
obj.name = '阿里阿里 '; 就可以

for ( var x in obj ){   //x就是遍历各的属性名
    console.log( x ); //遍历出obj所有属性名 
}
image.png
如果要遍历出所有的属性值
for ( var x in obj ){
    console.log( obj.x ) //不行的 undefined  x是变量 obj.x是属性 所有不行
    console.log( obj.["x"] )  //这里的 x 是字符串 x 没办法代表变量
    console.log( obj[x] ); // 把变量x直接放进去 打印出 obj 下面的一个 x 属性
}

for in遍历数组

var arr = [ 1,2,3,4,4,5  ]
for (var i in arr ){
    console.log( i );
}
遍历下面

数组是遍历出下标

var arr = [ 1,2,3,4,4,5  ]
for (var i in arr ){
    console.log( arr[i] ); //取值
}
取值
上一篇下一篇

猜你喜欢

热点阅读