var ii=$.parseJSON(DOT);// jQuery
var ii=JSON.parse(DOT);//Чистый JS
Результат одинаковый.
Перебираю массив:
for(var index in ii)
{
}
_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
var ii=$.parseJSON(DOT);// jQuery
var ii=JSON.parse(DOT);//Чистый JS
for(var index in ii)
{
}
$data = [
'_2' => 'foo',
'_1' => 'bar',
];
Цитата |
после парсинга строки пройдешься циклом и преобразуешь ключи в нужные |
Цитата (GET @ 11.12.2015 - 16:59) |
Ну в том то и дело, что они как бы есть строковые с числом внутри "455" |
Цитата (sergeiss @ 11.12.2015 - 21:14) |
У объекта порядок ключей не меняется |
Цитата (GET @ 12.12.2015 - 07:37) |
Исходная строка формируется в MySQL, пакуется PHP в JSON, чтоб потом ее со страницы забрал JS. |
$result = array();
while( $row=...._fetch(...)) {
$result[] = $row;
}
$retVal = json_encode($result);
$result[2]=2;
$result[0]=0;
$result[1]=1;
Цитата |
Даже если ты создашь массив в произвольном порядке, типа такого $result[2]=2; $result[0]=0; $result[1]=1; то при парсинге в JS они должны выстроиться правильно, т.е. в порядке возрастания ключей. |
json_encode($DOT,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
Цитата (GET @ 12.12.2015 - 10:41) |
я уже нашел решение - забить на это |
Цитата (GET @ 12.12.2015 - 11:41) |
В том то и дело, что мне не нужно чтоб ключи выстраивались в порядке возрастания. |
Цитата (GET @ 12.12.2015 - 11:41) |
Вопрос один: какого хера JS (без разрешения) сортирует ключи. |
Цитата |
Потому что это стандартный алгоритм его работы Который ты пока не понял. По сути дела, это в ПХП нестандартный алгоритм (потому что ключи символьные). А в большинстве других языков программирования именно так, как в JS. PS. У массивов в JS ключи ВСЕГДА цифровые. Если ты задашь, например, только элементы массива с индексами 0 и 55, то длина массива будет 56. И при этом, если начнешь перебирать массив, то элементы с ключами от 1 до 54 будут undefined. И не важно, в каком порядке ты их определишь, эти 2 элемента! Если же тебе нужны символьные ключи, то тогда в JS используй object. Визуально работа с объектами может выглядеть похоже на работу с массивом, но это не одно и то же. |
Цитата |
Перебираю массив: for(var index in ii) { } |
Цитата (GET @ 12.12.2015 - 16:03) |
sergeiss, я знаю ты лобируешь интересы разработчиков javascript на этом форуме, но ты должен знать, что народ против! |
Цитата |
???????????????????????????????????????????????????????????????????????????? |