Code Fix

上級sort()やreverse()は新しい配列を返さず元の配列を書き換える › パターン2

sort()やreverse()は新しい配列を返さず元の配列を書き換える

Array.prototype.sortやreverseは呼び出した配列自体を並べ替える破壊的(ミューテーティング)メソッドです。

 1  function topScore(scores) {
 2    return __________________.sort((a, b) => b - a)[0];
                      ^
 3  }
 4  const original = [10, 30, 20];
 5  topScore(original);
 6  console.log(original[0]);
出力: 30期待: 10 (エラーにはなりません)

空欄を埋めて実行を通す

広告
広告スロット(未設定)

sort()やreverse()は新しい配列を返さず元の配列を書き換える

戻り値だけを見て「新しい配列が作られた」と考えると、元のデータまで書き換わっていることに気づけません。

このエラーの解説と類題をまとめて見る →

広告
広告スロット(未設定)