ECMAScript 数组遍历
1.forEach 方法
forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数
遍历数组.forEach(function (当前数组元素,索引号){
//函数体
})
参数当前数组元素是必须要写的, 索引号可选。
let cities = ['南京', '北京', '上海', '深圳', '广州']
cities.forEach(function (value, key) {
console.log(key + ':' + value); //0:南京 1:北京 2:上海 3:深圳 4:广州
})
return 中断不了,break更不行,只能中断本次循环
let cities = ['南京', '北京', '上海', '深圳', '广州'];
cities.forEach(function (value, key) {
if (value == '上海') {
return false;
}
console.log(key + ':' + value); //0:南京 1:北京 3:深圳 4:广州
})
正确的中断方法是 throw error
try {
let cities = ['南京', '北京', '上海', '深圳', '广州']
cities.forEach(function (value, key) {
if (value == '上海') {
throw new Error('Forced end');
}
console.log(key + ':' + value); //0:南京 1:北京
})
} catch (e) {
console.log(e.message);
}
2. for 方法
for (初始化变量;条件表达式;操作表达式) {
//循环体
}
let cities = ['南京', '北京', '上海', '深圳', '广州'];
for (let i = 0; i < cities.length; i++) {
console.log(i + ':' + cities[i]); //0:南京 1:北京 2:上海 3:深圳 4:广州
}
breack 中止本次循环
let cities = ['南京', '北京', '上海', '深圳', '广州'];
for (let i = 0; i < cities.length; i++) {
if (cities[i] == '上海') {
break;
}
console.log(i + ':' + cities[i]); //0:南京 1:北京
}
continue 跳过本次循环,主循环继续
let cities = ['南京', '北京', '上海', '深圳', '广州'];
for (let i = 0; i < cities.length; i++) {
if (cities[i] == '上海') {
continue;
}
console.log(i + ':' + cities[i]); //0:南京 1:北京 3:深圳 4:广州
}