flatten関数の課題内容
_.flatten関数を自分で実装する課題。
https://lodash.com/docs/4.17.15#flatten
「課題内容」/「解説動画」/「解答例」を確認したい場合は、以下リンク先のページを参照。
https://js-drills.com/blog/flatten/
課題に取り組む前の状態
- 解答例を見なくてもできるか自信がなかった。
課題に取り組んだ後の状態
- なんとか処理結果がサンプル処理結果と同じにはなるように実装したものの自分のコードが腑に落ちない状態だった。
- Array.isArray()という便利なものがあることを改めて認識した。
flatten関数の実装コード(答えを見る前)
function flatten(array) {
const newArray = [];
for (let i = 0; i < array.length; i++) {
if (typeof (array[i]) === "object") {
newArray.push(...array[i]);
} else {
newArray.push(array[i]);
}
}
return newArray;
}
flatten関数の実装コード(答えを見た後)
function flatten(array) {
const newArray = [];
for (let i = 0; i < array.length; i++) {
if (Array.isArray(array[i])) {
newArray.push(...array[i]);
} else {
newArray.push(array[i]);
}
}
return newArray;
}