2016-11-29 2 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 [я] .ppInfo.SortIndex

Я не уверен, что еще я мог бы попробовать. Неужели я делаю что-то неуместное? Я могу получить доступ к SortIndex с "ppInfo.SortIndex", но этот объект изменяется после каждого запуска.

Спасибо и наилучшими пожеланиями,

+4

'ppSort [я] .SortIndex' –

+0

Пожалуйста, это минимальное воссоздают вашей проблемы. В настоящее время в 'ppArr' нет объектов, поэтому мы не можем судить, почему вы не можете получить доступ к его свойствам содержимого. (Кроме того, исправить отступы: в настоящее время неясно, какова должна быть структура вашего кода.) – Richard

+0

@Ori Drori Он возвращает «undefined» – Wintersun

ответ

0

«неопределенными» вы видите только repl.it говорю вам код выбежала без возврата каких-либо значений или бросать какие-либо ошибки. Если вы попробуете его в браузере или в другой тестовой среде, такой как jsfiddle.net, вы не увидите «неопределенный». Ori уже дал вам ответ, но если вы хотите, чтобы он работал:

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);

Смежные вопросы