発生している問題
以下のコードで連想配列possessionSetting[index]の値を書き換えたいのですが、
possessionSetting[0〜NumAll] の全ての配列のpossessionFlag1メンバーに、trueがセットされてしまっています。
配列番号indexのメンバー変数possessionFlag1のみtrueに変更したいのですが、
コードの記載間違いはどこになるのでしょうか?
Javascriptの実行環境によって違いなどがあるのでしょうか?
実行環境:Cordova10 Google Chrome
該当のソースコード
言語:JavaScript
---------GlobalData.js-----------------
// グローバルデータ
let possessionSetting = [];
// 初期化時
function 関数名() {
let possessionData = {
id: "",
productNameJp: "",
generalNameJp: "",
possessionFlag1: false,
possessionFlag2: false,
possessionFlag3: false,
possessionFlag4: false,
possessionFlag5: false,
possessionFlag6: false,
possessionFlag7: false,
possessionFlag8: false,
possessionFlag9: false,
possessionFlag10: false,
possessionFlag11: false,
possessionFlag12: false,
possessionFlag13: false,
possessionFlag14: false,
possessionFlag15: false,
possessionFlag16: false
}
for ( i = 0; i < NumAll; i++ ){
possessionSetting.push( possessionData );
}
};
---------main.js-----------------
// 該当箇所(オブジェクト内関数)
問題箇所(実行コード):
possessionSetting[index].possessionFlag1 = true;
→ possessionSetting[0〜NumAll] の全ての配列にtrueがセットされてしまっている。
(possessionSetting[index])のメンバーpossessionFlag1のみtrueに変更したい。
回答1件
あなたの回答
tips
プレビュー