How to early break reduce() method?

后端 未结 12 1186
忘掉有多难
忘掉有多难 2020-11-28 05:44

How can I break the iteration of reduce() method?

for:

for (var i = Things.length - 1; i >= 0; i--) {
  if(Things[i] <=         


        
12条回答
  •  一向
    一向 (楼主)
    2020-11-28 06:39

    I solved it like follows, for example in the some method where short circuiting can save a lot:

    const someShort = (list, fn) => {
      let t;
      try {
        return list.reduce((acc, el) => {
          t = fn(el);
          console.log('found ?', el, t)
          if (t) {
            throw ''
          }
          return t
        }, false)
      } catch (e) {
        return t
      }
    }
    
    const someEven = someShort([1, 2, 3, 1, 5], el => el % 2 === 0)
    
    console.log(someEven)

提交回复
热议问题