JavaScript filter that stops at the first result

You can try .find:

[7,5,3,2,1].find(x => x % 2 == 0);
// result: 2

From the docs:

The find() method returns a value of the first element in the array
that satisfies the provided testing function. Otherwise undefined is
returned.

Simple benchmark

var arr = [...Array(10000)].map( (item, idx) => idx )

arr.filter(i => i == 3000)[0]
arr.find(i => i == 3000)

/*
  arr.filter x 1,358 ops/sec ±0.40% (91 runs sampled)
  arr.find x 23,743 ops/sec ±0.40% (90 runs sampled)
  Fastest is arr.find
*/

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)