Как получить массив значений объекта с помощью jquery - PullRequest
3 голосов
/ 17 января 2011

У меня есть проблема, чтобы получить все элементы в массиве объекта, используя jquery ...

я получаю этот код из Интернета ...

var id = 123;
var test = new Object();
test.Identification = id;
test.Group = "users";
test.Persons = new Array();

test.Persons.push({"FirstName":" AA ","LastName":"LA"});
test.Persons.push({"FirstName":" BB ","LastName":"LBB"});
test.Persons.push({"FirstName":" CC","LastName":"LC"});
test.Persons.push({"FirstName":" DD","LastName":"LD"});

как получить каждый из "FirstName"и" LastName "в лицах, использующих JQuery ??

Ответы [ 4 ]

8 голосов
/ 17 января 2011

Вы можете использовать $.each() или $.map(), в зависимости от того, что вы хотите с ним сделать.

$.map(Persons, function(person) {
    return person.LastName + ", " + person.FirstName;
});
// -> ["Doe, John", "Appleseed, Marc", …]
4 голосов
/ 17 января 2011

Вы можете использовать $.each() для перебора массива.

$.each(test.Persons, function(index){
    alert(this.FirstName);
    alert(this.LastName);
});

См. рабочая демонстрация

1 голос
/ 17 января 2011

Вы можете использовать синтаксис JavaScript для массива:

for(var i in test.Persons) {
    alert(test.Persons[i].FirstName + " " + test.Persons[i].LastName);
}
0 голосов
/ 17 января 2011

Использование jQuery для этого немного лишнее imho.

Array.forEach :

test.Persons.forEach(function(person) {
  alert(person.FirstName + " " + person.LastName);
});

или просто по индексу:

alert(test.Persons[0].FirstName + " " + test.Persons[0].LastName);
...