この課題では、あなたの仕事は、ネストされた配列を取り込んで、一次元の平坦化された配列を返すプログラムを作成することです。たとえば、[10,20,[30,[40]],50]
出力する必要があります[10,20,30,40,50]
。
入力
入力はネストされた配列になります(例:)[10,20,[[[10]]]]
。整数(負と正の両方)、文字列、配列のみが含まれます。入力を関数の引数、STDIN、または言語に適したものとして受け取ることができます。入力配列に空の配列がないと仮定できます。
出力
出力は、ネストされた配列と同じ順序で同じタイプの同じ要素を持つフラット化された1次元配列になります。
テストケース
[10,20,30] -> [10,20,30]
[[10]] -> [10]
[["Hi"],[[10]]] -> ["Hi",10]
[[[20],["Hi"],"Hi",20]] -> [20,"Hi","Hi",20]
[[["[]"],"[]"]] -> ["[]","[]"]
コメントを使用して、説明を求めてください。これはcode-golfなので、バイト単位の最短コードが勝ちです!
注: 言語にこれが組み込まれている場合は、使用しないでください。
編集
コードを実行できるWebサイトへのリンクも含めてください。
unflatten
疑問はあるが疑問はないことを知り、私も驚いたflatten
。
["[",[["[",],'[',"['['"]]
テストケースとして追加してください。
'
し、"
区切り文字として。(しかし、私はテストケースが関与することに同意し[
、]
、"
および\
文字列内有用であろう。)