何とかArray.reduceRight()の使い道がないかなぁと考えていたら思いついたので。
Arrayの末尾が欲しいけど、array[array.length-1]
は何か恰好悪いし、
array.pop()
だと元の配列が破壊されてしまうからダメと言うシーンに。
コード
const last = array.reduceRight(v => v);
解説
reduceRightに第二引数を与えなかった場合、accumulatorの初期値には末尾の要素がセットされます。
後は第一引数のコールバック関数でaccumulatorをそのまま返し続ければそのまま末尾の要素が結果として返ります。
(空配列に対して呼び出した場合はundefined)
注意事項
逆順にループを回すことになるので計算量的には極めてダメなパターンです。
対象となるArrayの長さが短いことが保証されているシーンだけにしましょう。