配列を指定されたインデックスが先頭になるようにして返す関数rotate(arr, index)を作成せよ
- 作成する関数の第1引数は絞り込み前の配列、第2引数は先頭にするインデックスとする
- コマンドライン引数の1つ目をインデックス、それ以降を配列とする
const index = Number(process.argv[2]) const args = process.argv.slice(3) rotate(args, index)
実行コマンド
node main.js 2 34 27 94 12 30 14 25 [ 94, 12, 30, 14, 25, 34, 27 ]
node main.js -2 34 27 94 12 30 14 25 [ 14, 25, 34, 27, 94, 12, 30 ]
解答例
function rotate(arr, index) { const ret = [] for (let i = 0; i < arr.length; i++) { ret.push(arr[(i + index + arr.length) % arr.length]) } return ret } const index = Number(process.argv[2]) const args = process.argv.slice(3) console.log(rotate(args, index))