for循环

function ceshi(){
  for(var i = 0 ; i < 6 ; i++){
    if(i == 3){
      continue;
    }
    console.log(i);
  }
}
function ceshi(){
  for(var i = 0 ; i < 6 ; i++){
    if(i == 3){
      break;
    }
    console.log(i);
  }
}
function ceshi(){
  for(var i = 0 ; i < 6 ; i++){
    for(var j = 0 ; j < 6 ; j++){
    	if(j == 2){
        	return j;
      }
  	}
  }
}

forEach

let newArr = [];
arr.forEach(item => {
    if (item.age < 20) {
        newArr.push(item);
    }
})
console.log('newArr', newArr);
  • 1 forEach中使用break和continue无法跳出循环,控制台会报错;使用return会跳出本次循环,本次循环中return后面的语句不再执行。
// 找到名字为John的项
let JohnItem = {};
arr.forEach(item => {
    if(item.name === 'John'){
        JohnItem = item;
 
        // forEach不能使用break跳出循环,控制台会报错
        // break;
        // forEach不能使用continue跳出循环,控制台会报错
        // continue;
 
        // forEach使用return可以跳出本次循环;本次循环中return后面的语句不再执行
        return;
    }
 
    // 控制台打印遍历的项
    console.log('遍历的项', item);
})
console.log('JohnItem', JohnItem);
  • 2、map
// map对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组
let mapResult = arr.map(item => {
    // 控制台打印遍历的项
    console.log('遍历的项', item);
    
    return item.age * 2;
});
console.log('mapResult', mapResult);

3、filter

let newArr = [];
let filterResult = arr.filter(item => {
    if (item.age < 20) {
        newArr.push(item);
        return item;
    }
});
console.log('filterResult', filterResult);
console.log('newArr', newArr);

every

// 判断是否所有项都满足age < 20
// 简写
// let everyResult = arr.every(item => item.age < 20);
// 为清楚输出遍历的项,采用以下写法
let everyResult = arr.every(item => {
    console.log('遍历的项', item);
    return item.age < 20;
});
console.log('everyResult', everyResult);

some

// 判断是否存在某项满足age < 20
// 简写
// let someResult = arr.some(item => item.age < 20);
// 为清楚输出遍历的项,采用以下写法
let someResult = arr.some(item => {
    console.log('遍历的项', item);
    return item.age < 20;
});
console.log('someResult', someResult);
03-17 20:41