这里介绍五种数组循环遍历,还有对象遍历
一.for循环遍历
**注意:**使用return,break,continue跳出循环都与for循环一致,不过关于return需要注意,⚠️在函数体中,return表示函数执行终止,就算是循环外面的代码,也不再继续往下执行。而break仅仅只是终止循环,后面的代码会继续执行。
let arr = [{
name: '小明',
age: '12'
}, {
name: '小红',
age: '13'
}]
for (let i = 0; i < arr.length; i++) {
// if (i == 0) {
// return; // 函数执行被终止
// break; // 循环被终止
// continue; // 循环被跳过
// };
console.log(arr[i] + i);
}
二.for-in遍历
let arr = [{
name: '小明',
age: '12'
}, {
name: '小红',
age: '13'
}]
for (let i in arr) {
// if (i == 0) {
// return; // 函数执行被终止
// break; // 循环被终止
// continue; // 循环被跳过
// };
console.log(arr[i] + i);
}
三.for-of遍历(ES6中)
let arr = [{
name: ‘小明’,
age: ‘12’
}, {
name: ‘小红’,
age: ‘13’
}]
// 循环获取到值
for (let value of arr) {
console.log(value);//{name: "小明", age: "12"},{name: "小红", age: "13"}
}
四.forEach遍历
let arr = [{
name: '小明',
age: '12'
}, {
name: '小红',
age: '13'
}]
// 循环获取到值,下标
arr.forEach((item,index) => {
console.log(item,index);//值,下标 {name: "小明", age: "12"} 0 , {name: "小红", age: "13"} 1
})
五.map循环遍历
let arr = [{
name:'小明',
age:'12'
},{
name:'小红',
age:'13'
}]
//可以返回新数组
let mapArr = arr.map((item)=>{
return item.name
})
console.log(mapArr);//['小明','小红']
对象遍历
一.for-in可以直接遍历对象
let obj = {'0':'a','1':'b','2':'c'};
for(var i in obj) {
console.log(i,":",obj[i]);
}
二.Object.keys(obj),或Reflect.ownKeys(obj)或Object.getOwnPropertySymbols(obj)或Object.getOwnPropertyNames(obj)
let obj = {'0':'a','1':'b','2':'c'};
Object.keys(obj).forEach(function(key){
console.log(key,obj[key]);
});