Просмотр полной версии : Сортировка Ассоциативного Массива
Госпрода, есть вопрос следующего плана.
почему написав
var tmp_arr = [];
tmp_arr['USA'] = 3214;
tmp_arr['USSR'] = 'Hello';
tmp_arr['my'] = '231';
Вы не получите туже последовательность - USA, USSR...
когда вы делаете
for (var x in tmp_arr) {
}
Потому, что for in работает по принципу FILO (First In Last Out).
Потому, что for in работает по принципу FILO (First In Last Out).
А есть ли тогда какой нить вариант?
function reverse2 (arrayIn:Array) {
var arrayOut:Array = new Array ();
for (var arg in arrayIn) {
arrayOut[arg] = arrayIn[arg];
}
return arrayOut;
}
var tmp_arr:Array = [];
tmp_arr['USA'] = 3214;
tmp_arr['USSR'] = 'Hello';
tmp_arr['my'] = '231';
tmp_arr['z'] = 3214;
tmp_arr = reverse2 (tmp_arr);
for (var x in tmp_arr) {
trace (x);
}
trace ("============")
tmp_arr = reverse2 (tmp_arr);
for (var x in tmp_arr) {
trace (x);
}
function reverse2 (arrayIn:Array) {
var arrayOut:Array = new Array ();
for (var arg in arrayIn) {
arrayOut[arg] = arrayIn[arg];
}
return arrayOut;
}
var tmp_arr:Array = [];
tmp_arr['USA'] = 3214;
tmp_arr['USSR'] = 'Hello';
tmp_arr['my'] = '231';
tmp_arr['z'] = 3214;
tmp_arr = reverse2 (tmp_arr);
for (var x in tmp_arr) {
trace (x);
}
trace ("============")
tmp_arr = reverse2 (tmp_arr);
for (var x in tmp_arr) {
trace (x);
}
Гениально, хотя честно я так раньше делал, но не был уверен что это нормалный подход, и порядок не поменяется.
Спасибо.
И вообще, могу я быть уверен, что порядок не поломается или по старинке надо 1,2,3,..
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.