forEach跳出循环的三大方法

编辑: 来源: 时间: 2018-03-02 17:16 阅读:
光环大数据IT今天带来的是关于java的一个小知识,万变不离其宗,很多东西到了一定的水平和程度,就是殊途同归。代码也是这样,很多东西可以用不同的代码实现同样的功效。下面一起来看一看。
第一种:污染forEach

const arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];

Array.prototype.forEach = function(fun /*, thisArg */)

{

'use strict';

if (this === void 0 || this === null)

throw new TypeError();

var t = Object(this);

var len = t.length >>> 0;

if (typeof fun !== 'function')

throw new TypeError();

var thisArg = arguments.length >= 2 ? arguments[1] : void 0;

for (var i = 0; i < len; i++)

{

if (i in t && fun.call(thisArg, t[i], i, t) === false)

return false;

}

return true;

};

let outArr = [];

arr.forEach(obj => {

console.log(obj);

if (obj < 3) {

outArr.push(obj);

} else {

return false;

}

});

第二种方法:用替代品

1. 用lodash的_. forEach代替 const arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; const _ = require('lodash'); let outArr = []; _.forEach(arr, (index, obj) => { console.log(obj); if (obj < 3) { outArr.push(obj); } else { return false; } });

2.用some替代    const arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; let outArr = []; arr.some((obj) => { console.log(obj); if (obj < 3) { outArr.push(obj); } else { return true; } });

3.用every代替    const arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; let outArr = []; arr.every((obj) => { console.log(obj); if (obj < 3) { outArr.push(obj); } else { return false; } return true; });

第三种方法:try catch
const arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; const _ = require('lodash'); let outArr = []; try { arr.forEach(obj => { console.log(obj); if (obj < 3) { outArr.push(obj); } else { throw new Error('brack'); } }); } catch (err) { }

怎么样?是不是又get到了一个新的小知识。光环大数据IT温馨提示,知识点点滴滴皆是细节。细节做的好不好,决定你能走多远。让我们一起努力,向大神之路前进。

大数据培训、人工智能培训、Python培训、大数据培训机构、大数据培训班、数据分析培训、大数据可视化培训,就选光环大数据!光环大数据,聘请专业的大数据领域知名讲师,确保教学的整体质量与教学水准。讲师团及时掌握时代潮流技术,将前沿技能融入教学中,确保学生所学知识顺应时代所需。通过深入浅出、通俗易懂的教学方式,指导学生更快的掌握技能知识,成就上万个高薪就业学子。 更多问题咨询,欢迎点击------>>>>在线客服

你可能也喜欢这些

在线客服咨询

领取资料

X
立即免费领取

请准确填写您的信息

点击领取
#第三方统计代码(模版变量) '); })();
'); })();