【JavaScript関数ドリル】初級編のwithout関数の実装のアウトプット
こちらは、JavaScript関数ドリルに取り組んだ際の、アウトプット記事です。
JavaScript初心者の方、関数の作成に苦手意識のある方は参考にして頂けたらと思います。
スポンサードサーチ
without関数の課題内容
Lodashのwithout関数を実装します。
詳しい「課題内容」「解説動画」「解答例」を確認したい場合は、以下リンク先のページを参照。
without関数に取り組む前の状態
実装アイデアが全く思い浮かばない状態。
スポンサードサーチ
without関数に取り組んだ後の状態
filterとindexOfを用いて、実装できた。
以下を参考にして、復習することができた。
without関数の実装コード(答えを見る前)
// 第2引数以降は任意の数なので、スプレッド構文
function without(array, ...values) {
// indexOf関数は値が見つからない場合、-1を返す。
// -1を返したものだけで、配列を作り直す。
const newArray = array.filter(i => values.indexOf(i) == -1);
return newArray;
}
console.log(without([2, 1, 2, 3], 1, 2));
スポンサードサーチ
without関数の実装コード(答えを見た後)
解答例
function without(array, ...values) {
const newArray = [];
for(let i = 0; i < array.length; i++) {
const candidateToPush = array[i];
// values : [1, 2]
// array: [2, 1, 2, 3]
// candidateToPush: 2, 1, 2, 3
if( !values.includes(candidateToPush) ) {
newArray.push(candidateToPush);
}
}
return newArray;
}
console.log( without([2, 1, 2, 3], 1, 2) );
// => [3]