for,every,forEach,map 跳出循环的方法

map():返回一个新的Array,每个元素为调用func的结果。新数组的长度和原来的是一样的,他只不过是逐一对原来数据里的每个元素进行操作。

filter():返回一个符合func条件的元素数组。筛选条件,把数组符合条件的放在新的数组里面返回。新数组和原来的数组长度不一定一样。

some():返回一个boolean,判断是否有元素是否符合func条件。数组里面所有的元素有一个符合条件就返回true。

every():返回一个boolean,判断每个元素是否符合func条件。数组里面所有的元素都符合才返回true。

forEach():没有返回值,只是针对每个元素调用func 。循环数组。和for的用法一样的。

every 当内部return false时跳出整个循环(return true;也是需要写)

//every()当内部return false时跳出整个循环
let list = [1, 2, 3, 4, 5];
list.every((value, index) => {
    if(value > 3){
        console.log(value)// 4
        return false;

    }else{
        console.log(value)// 1 2 3
        return true;
    }

});
list.every((value, index) => {
    if(value > 3){
        console.log(value)
        return false;

    }else{
        console.log(value)// 1
        // return true;
        // 如果没有返回值true 的话,也会跳出循环
    }
}); 
// 输出结果为: 1 2 3 4 1

forEach没有返回值,只针对每个元素调用func。

  // forEach没有返回值,只针对每个元素调用func。
    let list = [1, 2, 3, 4, 5];
    list.forEach((value, index) => {
        if(value > 3){
            console.log(value); // 4 5
            return false;//没有返回值,ruturn false 仍向下执行

        }else{
            console.log(value); // 1 2 3
            return true;
        }
    });
    // 输出结果为:1 2 3 4 5

some 当内部return true时跳出整个循环

    let list = [1, 2, 3, 4, 5];
    list.some((value, index) => {
        if(value === 3){
            return true;//当内部return true时跳出整个循环
        }
        console.log(value)// 1 2 
    });

map 有返回值,返回一个新的数组,每个元素为调用func的结果。不能终止循环,使用 break 会报错,使用 return false;, 输出结果中会有 false,循环不会终止。

    let list = [1, 2, 3, 4, 5];
    let arr = [];
    arr = list.map((value, index) => {
        if(value == 3){
            return false;
        }
        return value * 2;
    });
    console.log(arr); // [2, 4, false, 8, 10]
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容