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:广州 }