本文作者:IMWeb 黄龙 原文出处:IMWeb社区 未经同意,禁止转载
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) {
}
代码偷自https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/every
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:用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;
});
3:用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;
}
});
4:for代替
5:while代替
6:do while代替