2016-11-29 60 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,但每次运行后都会更改此对象。

谢谢你,最好的问候,

+4

'ppSort [I] .SortIndex' –

+0

请你把这个最小您的问题的重新创建。目前'ppArr'中没有对象,因此我们无法判断您无法访问其内容的属性。 (另外,修复你的缩进:目前不清楚你的代码的结构是什么意思。) – Richard

+0

@Ori Drori它返回“undefined” – Wintersun

回答

0

的“未定义”你看到的只是repl.it告诉你的代码运行,没有任何返回值或抛出任何错误。如果您在浏览器或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);