从ES6开始,存在数组的本机
find方法。一旦找到第一个匹配项并返回值,此操作将停止枚举数组。
const result = someArray.find(isNotNullNorUndefined);
旧答案:
我必须发布答案才能停止这些
filter建议:-)
由于ECMAscript中有许多功能样式的数组方法,也许已经有类似的东西了?
您可以使用
someArray方法来迭代数组,直到满足条件为止(然后停止)。不幸的是,它将仅返回是否满足条件一次,而不返回满足条件的元素(或索引)。因此,我们必须对其进行一些修改:
function find(arr, test, ctx) { var result = null; arr.some(function(el, i) { return test.call(ctx, el, i, arr) ? ((result = el), true) : false; }); return result;}var result = find(someArray, isNotNullNorUndefined);


