最小数の削除(JavaScript)


問題の説明


整数の配列を保存し、arrから最小数の配列を削除する関数を返します.解決策を完了してください.ただし、返される配列が空の配列の場合は、配列に-1を入力して返します.たとえばarrが[4,3,2,1]の場合は[4,3,2]を返し、[10]の場合は[1]を返します.

せいげんじょうけん


arrは長さが1より大きい配列である.
インデックスi,jについて、i≠jの場合、arr[i]≠arr[j]である.

I/O例


arrreturn[4,3,2,1][4,3,2][10][-1]

問題を解く

function solution(arr) {
  let answer = []
  let y = arr.slice()
  if (arr.length > 1) {
    y.sort((a, b) => a - b)
    arr.splice(arr.indexOf(y[0]),1)
    answer = arr
  }else {
    answer = [-1]
  }  
  return answer;
}

  • 配列slice()は、arrによって複製される.
  • の場合、コピーされたアレイが変更されても元のアレイは変更されません.

  • 入力配列の長さが2より大きい場合、sort((a, b) => a - b)にコピーされた配列は昇順に並べ替えられる.
  • indexOf()を使用して配列の最初の値を検索し、splice()を使用して削除して戻ります.

  • 入力配列の長さが2より小さい場合は、-1を返します.