【解決済み】配列変数へ要素の追加

アバター
冷やっこ
記事: 132
登録日時: 2020年3月04日(水) 22:47

【解決済み】配列変数へ要素の追加

投稿記事by 冷やっこ » 2020年4月29日(水) 23:46

立て続けの質問で申し訳ないのですがまた躓いてしまいました…。
またどうぞ宜しくお願い致します。

イベントコマンドのスクリプトで配列変数の末尾に要素を追加する事についてお聞きしたいのですが

コード: 全て選択

◆変数の操作:#0101 = [1,2,3,4,5]
◆スクリプト:var aaa = $gameVariables.value(101)
:     :aaa.push(6);
:     :
:     :$gameVariables.setValue(102 ,aaa)
◆文章:なし, ウィンドウ, 下
:  :\v[101]
:  :\v[102]

上記を実行するとメッセージウィンドウには
1,2,3,4,5,6
1,2,3,4,5,6

と、表示されます。私としましては変数101の値は変わらずに
1,2,3,4,5
1,2,3,4,5,6

と、表示されると思っていたのですが…。
変数101の値は変わらずに変数102に要素を追加するにはどのようにすれば良いのでしょうか?

どなたかお知恵をお貸し頂けたらありがたいです。
それではどうぞ宜しくお願い致します。
最後に編集したユーザー 冷やっこ on 2020年4月30日(木) 01:57 [ 編集 1 回目 ]

奏ねこま
記事: 702
登録日時: 2016年1月20日(水) 20:04

Re: 配列変数へ要素の追加

投稿記事by 奏ねこま » 2020年4月30日(木) 00:52

せっかくなので「javascript 配列 コピー」で検索してみましょう。
ご提示のスクリプトの何がいけないのか、そういうのもわかると思いますので。
アバター
冷やっこ
記事: 132
登録日時: 2020年3月04日(水) 22:47

Re: 配列変数へ要素の追加

投稿記事by 冷やっこ » 2020年4月30日(木) 01:55

奏ねこま様、返信ありがとうございます!

せっかくなので「javascript 配列 コピー」で検索してみましょう。
ご提示のスクリプトの何がいけないのか、そういうのもわかると思いますので。

早速検索をしまして解りました!
参照渡し、値渡しとあるのですね、なるほど大変勉強になります。

コード: 全て選択

◆スクリプト:var aaa = $gameVariables.value(101).slice();
:     :aaa.push(6);
:     :
:     :$gameVariables.setValue(102 ,aaa)

上記の様に slice を使用して値渡しで無事に思い通りの結果になる事ができました。
奏ねこま様、このたびもお世話になり本当にありがとうございました!

“MV:質問” へ戻る