常见循环,主要包括有for,for…in,for…of,forEach
普通for switch
遍历数组
var nums = [11,12];
for(var i = 0; i<nums.length;i++){
console.info(nums[i]);
}
// 打印结果
// 11
// 12
let title;
switch (val) {
case '0':
title = '一'
break
case '1':
title = '二'
break
case '2':
title = '三'
break
case '3':
title = '四'
break
case '4':
title = '五'
break
}
return title //返回值
for…in
遍历对象的属性,遍历数组时候是数组的索引。
var nums = [11,12];
for (var property in nums) {
console.info(property, nums[property]);
}
// 打印结果
// 0 11
// 1 12
var obj = {
"name": "小明",
"age": 20
}
for (var property in obj) {
console.info(property, obj[property]);
}
// 打印结果
// name 小明
// age 20
for…of
for…of 语句循环遍历对象,对象必须是可被迭代的iterable类型,如Array, Map, Set。
var nums = [11,12];
for (let item of nums) {
console.info(item);
}
//打印结果
//11
//12
var map = new Map();
map.set("name", "Jack");
map.set("age", "25");
for (let item of map) {
console.info(item);
}
//打印结果
// Array [ "name", "Jack" ]
// Array [ "age", "25" ]
forEach
forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。
语法
var nums = [11,12];
nums.forEach(function(ele, idx) {
console.info(ele, idx);
})
//打印结果
// 11 0
// 12 1
forEach() 本身是不支持的 continue 与 break 语句的,我们可以通过 some 和 every 来实现。
some
some() 方法用于检测数组中的元素是否满足指定条件(函数提供)。
some() 方法会依次执行数组的每个元素:
如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
如果没有满足条件的元素,则返回false。
var nums = [11, 12, 13];
var result = nums.some(function(ele, idx) {
if (ele == 12) {
return; // continue;
// return false; // continue;
// return true; // break;
}
console.info(ele, idx);
})
console.info(result);
//打印结果
// 11 0
// 13 2
// false
every
every() 方法用于检测数组所有元素是否都符合指定条件(通过函数提供)。
every() 方法使用指定函数检测数组中的所有元素:
如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。
如果所有元素都满足条件,则返回 true。
var nums = [11, 12, 13];
var result = nums.every(function(ele, idx) {
console.info(ele, idx);
return ele < 12; //break;
})
console.info(result);
// 打印结果
// 11 0
// 12 1
// false
map
map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
map() 方法按照原始数组元素顺序依次处理元素。
注意: map() 不会对空数组进行检测。
注意: map() 不会改变原始数组。
var nums = [11,12];
var newArr = nums.map(function(ele, idx) {
console.info(ele, idx);
return "new" + ele;
});
console.info(newArr);
//打印结果
// 11 0
// 12 1
// Array [ "new11", "new12" ]