登場人物
丹生(にゅう)あれい
魔法少女「魔法(マジカル)JS(女子小学生)☆あれい」として活動中。
イテレー太
正体不明の魔法生物。
第1部「ミューテーター・メソッド編」
- 第1話「popでpushした、ような……」
- 第2話「shiftはとってもunshiftって」
- 第3話「もうsortもreverseも怖くない」
- 第4話「fillも、spliceも、copyWithinもあるんだよ」
join()
イテレー太「えー、私が魔法世界からデータを召喚しますので、皆さんは魔法少女になって、配列魔法でそのデータを加工して敵を倒してください。はい、あれいさん早かった」
あれい「なんで大喜利チックなんだよこの駄犬」
イ「さて、今回から第2部『アクセサ・メソッド編』なので、大きな制約が加わるよ! それは『元のデータを変更してはいけない』という制約だよ!」
あ「へえ」
イ「この制約を破ると、それはそれは恐ろしいペナルティを課せられるから気をつけてね!」
あ「例えばどんなペナルティだよ」
イ「自動販売機のお釣りが必ず100円玉とか10円玉ばっかりで返ってくるよ!」
あ「どうでもいいなそりゃ」
イ「さて、気を取り直して、今回僕が魔法世界から召喚したデータは……これだ!」
items = ['崖', '上', 'ポ○ョ'];
イ「これを……」
あ「……まさかとは思うが、これを『の』で繋げて『崖の上のポ○ョ』にしろ、とか言わないだろうな」
イ「すごい! 鋭いね、あれい!」
あ「誰でもわかるわ。この行為に何の意味があるんだ」
イ「じゃあ['風', '谷', 'ナウ○カ']
にする?」
あ「どっちでもいいわ」
return items.join('の');
イ「やった! 敵が苦しんでるよ!」
あ「これでダメージ受ける敵もどうかと思うぞ」
解説
join()
メソッドは、配列 (または配列風オブジェクト) の全要素を順に連結した文字列を新たに作成して返します。区切り文字はコンマ、または指定された文字列です。配列にアイテムが一つしかない場合は、区切り文字を使用せずにアイテムが返されます。
(MDNより)
昔からよく使われるお馴染みのメソッドですね。
私はCSVを作る時に多用してます。
concat()
イ「さて、続いてのお題にまいりましょう」
あ「だから大喜利じゃねえよ」
イ「今回僕が魔法世界から召喚したデータは……あれ?」
items = ['とっても'];
あ「おい、要素がたった1個かよ」
イ「いや、月末だから通信速度制限がかかっちゃって……」
あ「スマホかよ」
イ「あ、来た来た、次のデータだ」
items2 = ['すごい'];
あ「おい、早くしろよポンコツ」
イ「ちょっと待って……最後のデータが届くから」
items3 = ['攻撃'];
あ「やっと揃ったか」
イ「ごめんごめん。さて、今召喚した3つの配列を、1つに連結してからreturn
して敵を倒してよ!」
あ「面倒くせえなあ……」
return items.concat(items2, items3);
イ「良かった良かった。早く翌月にならないかな」
あ「魔法生物が料金プランをケチってんじゃねえよ」
解説
concat()
メソッドは、配列に他の配列や値をつないでできた新しい配列を返します。
(MDNより)
「concat」は「concatenate」の略で、「鎖状につなぐ」「連結する」という意味です。複数の配列を連携して、1つの配列として返します。使用されたそれぞれの配列には変更を加えません。
次回予告
indexOfちゃんは、配列内の要素を探すために前から検索するんでしょ?
あの子はindexOfじゃない、後ろから検索するlastIndexOfなんだよ?