上級 › 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()がscores(=original)を直接書き換えるため、関数を呼んだだけでoriginalの並び順まで変わってしまいます。
次の問題