JS、jQuery、AJAXなどを使用して、最初からモノポリーゲームを作成しています。JS:Forループでアクセス可能なオブジェクト配列
不満な問題があります。 Iは、プロパティオブジェクトを定義して、そして(関数の外側の両方)プロパティライブラリ配列....
var propLib = new Array();
var property = {
position: 0,
name: "",
price: 0,
rent: 0,
ppHouse:0,
mortage: 0,
owner: "",
priceWithHouse:[0,0,0,0,0],
};
次に、私は他のアレイからの情報を用いてアレイを移入:
function popArray(){
//Populate Property Library with Names off Board
for(var i=0;i <= strPropNames.length;i++){
propLib.push(property);
propLib[i].position = i;
propLib[i].name = strPropNames[i];
propLib[i].price = intPropPrice[i];
propLib[i].mortage = (intPropPrice[i]/2);
alert(propLib[i].name + "Pos: "+ propLib[i].position+" "+propLib[i].price)
}
}
注意:その警告はうまくいきます。このforループの外にある定数または別の変数を使って同じ警告を試みるとすぐに、それは未定義として返します。
これまでのところ、 "var"という接頭辞を付けずに変数を宣言しようとしましたが、それはもっとグローバルであり、無駄になります。助言insert_name_here何という
回答:
私は、各ループの繰り返し同じオブジェクトを書き換えた、答えはそうのように見えるので...その私ができるいくつかの問題が
var newObject = jQuery.extend(true, {}, property);
propLib.push(newObject);
あなたもstrPropNamesのデータを投稿することができますが?それには値がなく、strPropNames.lengthが0を返すことがあります。 – Lalit
@Roman what is strPropNames –
これはボード上のプロパティ名の配列です。私が言ったように、forループの各繰り返しの最後にアラートが働くので、文字列が割り当てられます。 –