ページ 11

【解決済】配列の文字列を数値に

Posted: 2021年5月28日(金) 15:52
by ブラインド
変数1がアイテムIDの名前、メタデータのatkとdefを含める配列だったとします。

コード: 全て選択

[$dataItems[1].name,$dataItems[1].meta['atk'],$dataItems[1].meta['def']]


この場合、ゴブリン,3,7と出力されるのですが、
<atk:3><def:7>と記入したメタデータは文字列扱いになってるようで

コード: 全て選択

$gameParty.gainGold($gameVariables.value(1)[1])

こうでもしようもんならエラーで落ちます。

このメタデータを扱う二つの要素を数値に変換することはできますか?
ゴブリンはそのままだとします。

Re: 配列の文字列を数値に

Posted: 2021年5月28日(金) 19:00
by 奏ねこま
「javascript 文字列 数値 変換」とかで検索してみたら良いです。

答えを書くと

Number($dataItems[1].meta['atk'])

とか

+$dataItems[1].meta['atk']

とかで数値になります。

後者は短くて使いやすいですが「数値に変換している」というのが分かりづらいのと
前後のつながり次第で意図しない挙動になることもあるので注意が必要です。

Re: 配列の文字列を数値に

Posted: 2021年5月29日(土) 16:11
by ブラインド
奏ねこま さんが書きました:「javascript 文字列 数値 変換」とかで検索してみたら良いです。

答えを書くと

Number($dataItems[1].meta['atk'])

とか

+$dataItems[1].meta['atk']

とかで数値になります。

後者は短くて使いやすいですが「数値に変換している」というのが分かりづらいのと
前後のつながり次第で意図しない挙動になることもあるので注意が必要です。


解決しました。ありがとうございました。
すみません。調べはしましたが理解できなかったので。