• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:特定の文字列で連結して返す関数)

特定の文字列で連結して返す関数

このQ&Aのポイント
  • 特定の文字列で複数の文字列を連結する関数を作成したが、配列の中にさらに配列がある場合にどうすればいいか困っている。
  • 配列を渡した場合に再帰的にチェックし、連結を行う方法を模索している。
  • 複雑な構造の配列に対応した連結処理を実装したいが、具体的な方法についてアドバイスを求めている。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

再帰呼び出し使ってこんな感じで。 String.prototype.connect=function(){ var connectString=this; function connectSub(arg){ if(typeof arg=='object'){ var text=connectSub(arg[0]); for(var i=1; i<arg.length; i++){ text+=connectString; text+=connectSub(arg[i]); } }else{ text=arg; } return text; } return connectSub(arguments); }

gorusura
質問者

お礼

関数の中に関数を書くのは好きじゃないので(ぇ 以下のように少し変更して使わせてもらいます^^ String.prototype.connect=function(){ var connectString=this; return (function(arg){ if(typeof arg=='object'){ var text=arguments.callee(arg[0]); for(var i=1;i<arg.length;i++){ text+=connectString; text+=arguments.callee(arg[i]); } } else{ var text=arg; } return text; })(arguments); }; ありがとうございました^^

その他の回答 (1)

  • think49
  • ベストアンサー率59% (285/482)
回答No.2

下記は期待通りでしょうか? var a = [[['そ']][['た','ち','つ','て','と']]]; alert(a.length); // 1 alert(a[0]); // undefined typo っぽいのでカンマを足してみました。 http://jsfiddle.net/qCF3B/1/

gorusura
質問者

お礼

ありがとうございました^^ 成功しました。

関連するQ&A