JSON и подсчет количества элементов
Суть такова принял JSON
Код:
user Получается объект! Теперь надо подсчитать сколько элементов в user) Количество постоянно меняется! data.user.leght - не работает! Наверно потому, что я получил объект) Как посчитать?) |
есть вариант такой
while(data.user[i]) { i++; } alert(i-1); Кто нить лучше предложит?) |
Цитата:
Цитата:
alert(Object.keys({foo: 1, bar: 2}).length); Полифил, если нужен: if (!Object.keys) { Object.keys = function(object) { var result = [] __own__ = Object.prototype.hasOwnProperty; for (var key in object) { if (__own__.call(object, key)) result.push(key); } return result; }; } |
Цитата:
PHP метод json_encode, вполне нормально массив превращает в массив а не в объект с хешами, но массив не должен содержать хеш ключи, лишь только номера по порядку: $data = array( "user" => array( // массив с ключем 0 array( 'id' => 1, 'name' => "vasya", ), // массив с ключем 1 array( 'id' => 2, 'name' => "petya", ), // и т.д. ) ); echo json_encode( $data ); далее в JS будет доступно: data.user.length |
:) Имхо идеальный вариант Нулевой ключ с массивом всех ключей в объекте и далее ключи значения
|
А серавно придется через while
Сказали посчитать сколько st имеет значение например 12 |
while(data.user[i]) { if(data.user[i].st==12) { vq++; } i++; } |
Цитата:
Цитата:
[1, 1, 2, 3, 1].filter(function(item) { return item == 1; }).length; // 3 |
Часовой пояс GMT +3, время: 18:09. |