0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【JavaScript関数ドリル】初級編のdrop関数の実装アウトプット

Posted at

drop関数の課題内容

_.drop関数を自分で実装する課題。
https://lodash.com/docs/4.17.15#drop

「課題内容」/「解説動画」/「解答例」を確認したい場合は、以下リンク先のページを参照。
https://js-drills.com/blog/drop/

課題に取り組む前の状態

  • 解答例を見なくてもできそうと思った。

課題に取り組んだ後の状態

  • 解答例では、第2引数が0の場合や配列の長さより長い場合をあえて分けて処理するなど、自分のコードと違う部分があるが、自分の実装コードのforループで、第2引数が0の場合は処理されないように記述し、第2引数が配列の長さより長い場合も含め、サンプルの処理結果が同じように出ているため、このままで良いかと判断。
  • もし、極端に大きすぎる第2引数が渡された場合に備える場合は、むだにforループを続けてしまうので、やはり解答例と同じようにif文を使いたいと思う。

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


function drop(array, n = 1) {
    const newArray = [...array];
    for (let i = 0; i < n; i++) {
        newArray.shift();
    }
    return newArray;
}

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

function drop(array, n = 1) {
    const newArray = [...array];
    for (let i = 0; i < n; i++) {
        newArray.shift();
        if (newArray.length === 0) {
            return [];
        }
    }
    return newArray;
}
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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?