AI智能
改变未来

js循环遍历数组(对象)


js循环遍历数组(对象)

1,for循环

对于循环应该是最常用的一种遍历方式了,通常用来遍历数组结构。

let arr = [\'a\',\'b\',\'c\'];for (let i=0; i<arr.length; i++){console.log(i,arr[i]);}//输出//0 a//1 b//2 c

2,forEach循环

forEach方法用于调用数组的每个元素,并将元素传递给回调函数。对于空数组不会执行回调函数。

let arr = [1,2,3];arr.forEach(function(i,index){console.log(i,index)})//输出// 1 0// 2 1// 3 2

3,map方法

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

let arr = [1,2,3];let newArr = arr.map(function(i){console.log(i) // 1 2 3return i*2;})console.log(arr) //[1,2,3]console.log(newArr) //[2,4,6]

4,for…in循环

for…in语句用于对数组或者对象的属性进行循环操作。

for…in循环中的代码每执行一次,就会对数组或者对象的属性进行一次操作。

//遍历对象时,拿到的是键名,不能直接获取键值。let obj={name:\'programmer\',age:\'22\',height:\'180\'};for(let key in obj){console.log(key,obj[key])}//输出//name programmer//age 22//height 180//可以直接修改原对象for(let key in obj){obj[key] = key}console.log(obj) //{name: \"name\", age: \"age\", height: \"height\"}
//遍历数组时,拿到的是下标let arr = [\'a\',\'b\',\'c\'];for (let index in arr){console.log(index,arr[index]);}//输出//0 a//1 b//2 c//可以直接修改原数组for(let index in arr){arr[index] = index}console.log(arr)  // [\"0\", \"1\", \"2\"]

5,for…of循环

因为是es6引入到新特性中的,借鉴c ++,java,c#和python语言,引入for…of循环,作为遍历所有数据结构的统一方法。

var arr = [\'a\', \'b\', \'c\', \'d\'];for (let item of arr) {console.log(item); // a b c d}//在遍历JSON时,我自己跟喜欢用for...of,因为可以直接操作itemvar arr = [{a:1,b:2},{a:3,b:4}];for (let item of arr) {item.a = 999}console.log(arr) //[{a:999,b:2},{a:999,b:4}]

6,while循环

while用于循环作用基本一致,通常用来循环数组

let cars=[\"BMW\",\"Volvo\",\"Saab\",\"Ford\"];let i=0;while (cars[i]){    //()里面是判断条件console.log(cars[i]) // BMW Volvo Saab Fordi++;};

7,do while循环

do while 是while的一个亲戚,它在循环开始前先执行一次操作,然后才进行判断,true就继续执行,false就结束循环。

let i = 3;do{console.log(i) // 3 2 1i--;}while(i>0);

第一回创作,在学习的道路上,记录一下我学到的小知识,要是有错误,请各位及时指正,万分感谢,要是有所不足,也请指出,我也会继续添加。

遇到的难题,我也想学习到了,能总结、并且记录下来,好记性不如烂笔头,一只小菜鸟,以此篇开始记录我的成长之路

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » js循环遍历数组(对象)