Помогите с выбором списка населения из объекта JSON - PullRequest
0 голосов
/ 27 августа 2010

привет Спасибо за ваши ответы.Я попробовал 2 кода, но это не работает. У меня есть объект JSON, похожий на этот

[{"name":"aaa","0":"aaa","city":"paris","1":"paris","school":"gtdzh","2":"gtdzh"},
{"name":"bbb","0":"bbb","city":"berlin","1":"berlin","school":"gdezh","2":"gdezh"},
{"name":"ccc","0":"ccc","city":"new york","1":"new york","school":"asdzh","2":"asdzh"},
{"name":"aaa","0":"aaa","city":"sidney","1":"sidney","school":"gtdcv","2":"gtdcv"},
{"name":"bbb","0":"bbb","city":"paris","1":"paris","school":"gtdzh","2":"gtdzh"}]

Я хочу заполнить раскрывающийся список с различными значениями, выбранными из поля моего объекта Json

для примера: у меня есть 2 человека, которые учились в 2 городах aaa и bbb.как сделать так, чтобы у меня не было дублирования в моем выпадающем списке.

Ответы [ 2 ]

1 голос
/ 27 августа 2010

Вы можете перебрать объект;создание нового объекта только с уникальными полями (что-то вроде этих строк будет работать):

function array_search (needle, haystack) {
    var key = '';
    for (key in haystack) {        
        if ((haystack[key] === needle) || (haystack[key] == needle)) {
            return key;
        }
    }
     return false;
}

(функция выше c / o http://phpjs.org/functions/array_search:335)

var myNames = new Array();
var myFilteredObject = new Array();
for (i in myObject){
    if (array_search(myObject[i].name, myNames) == false){
        var myNames[i] = myObject[i].name;
        var myFilteredObject[] = myObject[i];
    }  
}
1 голос
/ 27 августа 2010

jQuery (и Javascript) не слишком много для работы с массивами данных.Я бы посоветовал вам заглянуть в Underscore js библиотеку (которая предназначена для дополнения jQuery), которая обрабатывает все виды манипуляций с массивами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...