Suzuki Blog Written by Yuki Suzuki

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

JavaScript

こちらは、JavaScript関数ドリルに取り組んだ際の、アウトプット記事です。

JavaScript関数ドリル

JavaScript初心者の方、関数の作成に苦手意識のある方は参考にして頂けたらと思います。

スポンサードサーチ

flatten関数の課題内容

Lodashのflatten関数を実装します。

詳しい「課題内容」「解説動画」「解答例」を確認したい場合は、以下リンク先のページを参照。

flatten関数

flatten関数に取り組む前の状態

実装アイデアが全く思い浮かばない状態

スポンサードサーチ

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

実装はできなかったが、解説は理解できた

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

実装できなかった

スポンサードサーチ

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

解答例

function flatten(array) {
  const flattendedArray = [];
  for(let i = 0; i < array.length; i++) {
    const value = array[i]
    if( Array.isArray(value) ) {
      flattendedArray.push(...value);
    } else {
      flattendedArray.push(value);
    }
  }

  return flattendedArray;
}

const numbers = [1, [2, [3, [4]], 5]];
const result = flatten(numbers);

console.log( JSON.stringify( result ) );
// => [1, 2, [3, [4]], 5]

console.log( JSON.stringify( numbers ) );
// => [1, [2, [3, [4]], 5]]