_.forEach() 使用说明

2019-05-08  本文已影响0人  zhaiduting

return true相当于continue,从当前迭代函数中返回,继续调用下一个元素执行迭代。因此下面这段代码对 arr 数组中的每一个元素都执行了箭头函数。

arr = [-3, -1, 2, 3, 4, 5, 6, -7, -8, 9];
outArr = [];
_.forEach(arr, (obj, index) => {
    if (obj < 3) {
        outArr.push(obj*2);
    } else {
        return true;
    }
});
// outArr 值为 [-6, -2, 4, -14, -16]

return false相当于break,从当前迭代函数中返回并且终止迭代。所以下面这段代码只对 arr 的前3个元素执行了箭头函数。

arr = [-3, -1, 2, 3, 4, 5, 6, -7, -8, 9];
outArr = [];
_.forEach(arr, (obj, index) => {
    if (obj < 3) {
        outArr.push(obj*2);
    } else {
        return false;
    }
});
// outArr 值为 [-6, -2, 4]

注意,return;return true;的效果一样。
另外,箭头函数的参数顺序有讲究。第1个参数是元素,第2个才是索引值(与PHP里的顺序刚好相反)。不要把(obj, index) => {..}错写成(index, obj) => {..}
最后,_.each()等同于_.forEach()

上一篇下一篇

猜你喜欢

热点阅读