8
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

実はES2022以前まで配列末尾検索メソッドが無かった…..

Last updated at Posted at 2023-09-07

ES2022以前

ES2022以前まではなぜか配列を直接末尾から検索メソッドがありませんでした。

そのため以下のようにslice()で配列を再生成後、reverse()で破壊的逆順にして検索をしていました。

const nums = [0,1,2,3];
const search = nums.slice().reverse().find((num) => num > 0);
console.log(search); // 3

ES2023で直接逆順から検索可能に

なんとfindLast()が登場したおかげで以下のように検索できるようになりました!!

また非破壊的に検索されるためslice()で配列を再生成する必要がありません!!

なおNode.jsでは18系から対応しています。

const nums = [0,1,2,3];
const search = nums.findLast((num) => num > 0);
console.log(search); // 3
console.log(nums); // [0, 1, 2, 3]

最後に

なんで普通に需要ありそうなのに今までなかったの?なぁぜなぁぜ?

8
2
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?