js中的一些循环
1.for in 循环
迭代对象的所有可枚举属性,给出属性名称
1 let obj = {a:1,b:2,c:3} 2 for(let prop in obj){ 3 console.log(obj[prop]);//用来遍历对象 4 }//1,2,3
2.for of 循环
循环数组
1 let arr = [1,2,3,4,5,6]; 2 for(let index in arr){ 3 console.log(arr[index]); 4 }//1,2,3,4,5,6
循环字符串
1 let arr = [1,2,3,4,5,6]; 2 for(let index in arr){ 3 console.log(arr[index]); 4 } //1,2,3,4,5,6
3.forEach
es5引入。给定一个数组,可以使用arr.forEach()迭代其属性
let arr = [{a:1},{a:2},{a:3},{a:4},{a:5}]; arr.forEach(function(item, index, arr){ if(item.a === 3){ item.a = 6;//数组内变量为引用类型,遍历参数即为对应项的引用地址 console.log(item.a); //6 // return //跳过本次循环,即return本次遍历函数 } }); // 注: forEach无返回值,无法跳出循环
4.filter(item,index,arr)
filter方法用来过滤数组成员,满足条件的成员组成新数组返回。
// filter用来满足某个条件,输出满足条件的数组 let arr = [1,2,3,4,5,6]; let arr1 = arr.filter(function(val){ return val<=3; }) console.log(arr1);//1,2,3
5.map()
map方法将数组的所有成员依次传入参数函数,然后将每一次的执行结果组成新数组返回
需要注意的是:返回的是一个新数组,不会改变原来的数组
// map函数用来返回经过函数运算后的数组 let arr = [1,2,3,4,5,6]; let arr1 = arr.map(function(val){ return ++val; }) console.log(arr1);//2,3,4,5,6,7