cdnjsjsDeliverunpkgSelf hosted

カメリアの記事

意味があることやないことを綴ります

JavaScript で配列に見える文字列を配列にする

結論から言うと JSON.parse( 配列に見える文字列 ) です。でも時間が合ったら僕の講釈に付き合ってください。

さて、下のようなものがあったとします。配列に見えますがテキストエリアに書いてあるだけだと文字列です。 JavaScript の中に書いてあると配列なんですが。

これを配列にするのにどうしたらいいでしょう。下のようにすることもできます。え、できるからってなんでもいいわけじゃねぇよ。何が言いたかったかというと split() じゃダメってことです。

`["a", "b", "c"]`
.slice(1, -1)
.split(", ")
.map(rly => rly.slice(1, -1))

僕は思い付きました。 Array を作るなら Array でしょ!

Array.from(`["a", "b", "c"]`)

さて、配列はできるでしょうか。結果は下のとおり。全部バラバラです。ぜんぜんダメ。

['[', '"', 'a', '"', ',', ' ', '"', 'b', '"', ',', ' ', '"', 'c', '"', ']']

そして最終的に気付いたわけです。下のようにします。知ってた。知ってたけどね。

JSON.parse(`["a", "b", "c"]`)