Lodash从地图中断/减少错误?

时间:2015-08-20 14:46:59

标签: javascript node.js lodash

如果我有像_.transform这样的功能。

iteratee函数中的某处我遇到错误;如何退出_.transform功能?

{
  try {
    fs.readFileSync('dog_pics');
  } catch(e) {
    return;
  }
}

_.map怎么样?期望return语句。

2 个答案:

答案 0 :(得分:9)

_.transform回调可以返回false以停止迭代。

来自lodash示例:

_.transform([2, 3, 4], function(result, n) {
  result.push(n *= n);
  return n % 2 == 0;
});
// → [4, 9]  

正如您所看到的,当n === 3

时,迭代会在第三步中断

_.map_.reduce不支持迭代停止

答案 1 :(得分:0)

由于_.transform构建了一个新的返回对象,因此在不设置推送结果的情况下返回将允许您“跳出”该迭代。

(我实际上没有测试过这段代码。)