• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:関数を用いて作成した配列の要素の結合)

関数を用いて作成した配列の要素の結合

このQ&Aのポイント
  • JavaScriptの関数を使って作成した配列の要素を結合する方法について質問です。
  • 配列の要素を結合するために、join()メソッドを使ってみたところ、JavaScriptが停止してしまいます。
  • 関数を使って作成した配列をjoin()で結合できないのか、原因がわからないので助けてください。

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

Menu_HTag は、HTagItem オブジェクトの配列であって、単なる文字列の配列じゃないですから、単純にjoin して"1章|2章|3章|4章"には、ならないと思います。 1つのやり方として、 function HTagItem(ID,TitleOrg){ this.ID=ID; this.TitleOrg=TitleOrg; this.Href='<a href="#'+ID+'">'+TitleOrg+'</a>'; this.toString=function(){ return TitleOrg; } } Menu_HTag = new Array( new HTagItem('01','1章'), new HTagItem('02','2章'), new HTagItem('03','3章'), new HTagItem('04','4章') ); var strMenu=Menu_HTag.join('|'); とは、できると思います。

rqg2010
質問者

お礼

BLUEPIXYさん、いつもありがとうございます。 できました。 こんなことができるとは、驚きです。 ますます、JavaScriptにはまります。 ところが、 this.toString=function(){ return TitleOrg; } を this.toString=function(){ return Href; } と、すると文字列が返らなくなります。 関数の中で定義した文字列ではダメなのでしょうか。 また、これは、以前BLUEPIXYさんに教えていただいた<a>タグのname="**"を<h*>タグのid="***"に 変更して階層化しようとしているものです。 以前教えていただいた<a>タグのname="**"を配列にしてメニューを自動的に表示できるのはとても重宝しています。 今回、更に階層化に挑戦しています。

rqg2010
質問者

補足

お礼への補足です。 this.toString=function(){ return Href; } を this.toString=function(){ return this.Href; } で、できました。 お騒がせしました。

関連するQ&A