LoginSignup
0
0

More than 1 year has passed since last update.

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

Posted at

pull関数の課題内容

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

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

課題に取り組む前の状態

  • 解答を見ずにできそうだと思った。

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

  • 実行結果は同じになったものの、解答例を見ると、自分のコードには余計な記述が多いと分かった。

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

function pull(array, ...values) {
    const valueArray = [...values];

    if (arguments.length < 2) {
        return array;
    }

    for (let i = 0; i<  valueArray.length; i++) {
        if (array.includes(valueArray[i])) {
            for (let j = array.length - 1; 0 <= j; j--) {
                if (array[j] === valueArray[i]) {
                    array.splice(j, 1);
                }
            }
        }
    }

    return array;
}
var array = ['a', 'b', 'c', 'a', 'b', 'c'];
 
let result = pull(array, 'a', 'c');
console.log(result);
// => ['b', 'b']

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

function pull(array, ...values) {
  if (arguments.length < 2) {
    return array;
  }

  for (let i = array.length - 1; 0 <= i; i--) {
    if (values.includes(array[i])) {
      array.splice(i, 1);
    }
  }

  return array;
}
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