0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

魔法JS☆あれい 第5話「joinなんて、concatなわけない」

Last updated at Posted at 2020-03-21

登場人物

丹生(にゅう)あれい
魔法少女「魔法(マジカル)JS(女子小学生)☆あれい」として活動中。

イテレー太
正体不明の魔法生物。

第1部「ミューテーター・メソッド編」

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なんだよ?

第6話 indexOfなの絶対lastIndexOf

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?