LoginSignup
0
0

More than 3 years have passed since last update.

javascript関数ドリル 初級編takeRight関数の実相のアウトプット

Posted at

takeRight関数の課題内容

   ↓
https://js-drills.com/blog/takeright/

take関数の取り組む前の状態

takeの逆なので簡単だと思っていた

take関数に取り組んだ後の状態

  • (1 + i)ここの部分の理解が少し追いつかなかったです。

tail関数の実装コード(答えを見る前)

実行できなかった

tail関数の実装コード(答えを見た後)

function takeRight(array, n = 1) {
  if(n === 0) {
    return [];
  }
  if(n > array.length) {
    return [...array];
  }

  const takenArray = [];
  for(let i = 0; i < n; i++) {
    // array [1, 2, 3]
    // 1 + i => 1, 2, 3
    // array.length =>
    //   3 - (1 + 0) = 2,
    //   3 - (1 + 1) = 1
    //   3 - (1 + 2) = 0
    const indexFromRight = array.length - (1 + i)
    takenArray.unshift( array[indexFromRight] );
  }

  return takenArray;
}

console.log( takeRight([1, 2, 3]) );
// => [3]

console.log( takeRight([1, 2, 3], 2) );
// => [2, 3]

console.log( takeRight([1, 2, 3], 5) );
// => [1, 2, 3]

console.log( takeRight([1, 2, 3], 0) ) ;
// => []
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0