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] ); //取值
}
取值
网友评论