常见循环,主要包括有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" ]