2016-11-29 15 views
0
var ppArr []; // An Array filled with Objects 
var ppSort []; // Empty Array 
var i = 0; // Counter 
for (; ; i++) // Increase "i" 
if (...) // does not matter here 
{ 
    var ppInfo = { SortIndex : ppArr[i].SortIndex, PPCount : 1, SortedArr : newArray() }; 
    ppInfo.SortedArr.push(ppArr[i]); 
    ppSort.push(ppInfo); 

} 
else { // Neither dose that part 
... 
    } 
} 

https://repl.it/E4xO/19配列内のオブジェクトの属性にアクセスする方法は?

こんにちはみんな、

私はJavaScriptで配列によるオブジェクトの属性にアクセスすると問題が発生しています。

ご覧のとおり、 "ppInfo"オブジェクトを "ppSort"という空の配列に入れています。

このオブジェクトのSortIndexにはどのようにアクセスできますか?

私は次のことを試してみました:

  • ppSort.ppInfo.SortIndex
  • ppSort [i]は私が試みることができる他に何かわからない

を.ppInfo.SortIndex。私は何かを間違ってやっているのですか? "ppInfo.SortIndex"でSortIndexにアクセスできますが、実行ごとにこのオブジェクトが変更されます。

は、あなたが見る」未定義のはただのコードは、任意の値を返すか、エラーをスローせずに走ったあなたを語っrepl.itされ、

+4

'ppSort [i]の.SortIndex' –

+0

これは、最小限の問題を再作成してください。現在、 'ppArr'にはオブジェクトが存在しないので、なぜあなたはそのコンテンツのプロパティにアクセスできないのか判断できません。 – Richard

+0

@Ori Droriこれは "undefined"を返します – Wintersun

答えて

0

をあなたとよろしくお願いします。ブラウザーやjsfiddle.netなどの別のテスト環境で試してみると、 'undefined'は表示されません。オリはすでにあなたに答えを与えたが、あなたが働いて、それを見たい場合:

var ppArr = []; 
 

 
ppArr[0] = { 
 
    Code: "Test", 
 
    SortIndex: 100 
 
}; 
 

 
ppArr[1] = { 
 
    Code: "Test", 
 
    SortIndex: 200 
 
}; 
 

 
var ppSort = []; 
 

 

 
for (var i = 0; i < 2; i++) // Increase "i" 
 
{ 
 
    if (i < 2) // does not matter here 
 
    { 
 
    var ppInfo = { 
 
     SortIndex: ppArr[i].SortIndex, 
 
     PPCount: 1, 
 
     SortedArr: new Array() 
 
    }; 
 
    ppInfo.SortedArr.push(ppArr[i]); 
 
    ppSort.push(ppInfo); 
 

 
    } 
 
} 
 

 
var r1 = '1st value: ' + ppSort[0].SortIndex; 
 
var r2 = '2nd value: ' + ppSort[1].SortIndex; 
 

 
alert(r1 + '\n' + r2);

関連する問題