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]
最後に
なんで普通に需要ありそうなのに今までなかったの?なぁぜなぁぜ?