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, время: 10:09. |