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