|
Тема
|
Array.sortOn
|
|
Автор |
vens (малко странен) |
Публикувано | 31.01.07 01:09 |
|
Имам следния масив myArray:
myArray[0]
name: John
score: 10
myArray[1]
name: Peter
score: 25
myArray[2]
name: Mike
score: 110
Използвайки myArray.sortOn("score", 2|16) се опитвам да подредя масива според стойностите на score в намаляващ ред, броени като числа, а не като стрингове.
хелпа за тази функция, където е обяснено и значението на 2|16.
2-та (подреждане в намаляваш ред) си работи нормално - като я има, стойностите са в намаляващ ред, като я няма - в нарастващ.
Обаче 16-та не ще - и да я слагам, и да я махам, и Array.NUMERIC да слагам - все си ги подрежда като стрингове. Т.е. резултатът е такъв:
25
110
10
Флашът е публикуван като съвместим с версия 8, ActionScript 1.0, и функцията трябва да действа, ама не ще
Някакви идеи?
| |
Тема
|
Re: Array.sortOn
[re: vens]
|
|
Автор |
ghs (v.2) |
Публикувано | 31.01.07 12:46 |
|
не знам как вкарваш данните в array-а, но ако е по начина по който е тук, няма да ти върне това което искаш. пробвай с това както е на страницата им
my_array.push({password: "abcd", age:3});
my_array.push({password: "barb", age:35});
my_array.push({password: "catchy", age:4});
| |
Тема
|
Re: Array.sortOn
[re: ghs]
|
|
Автор |
vens (малко странен) |
Публикувано | 31.01.07 19:43 |
|
Ами начина е следния:
vars = new loadVars();
vars.onLoad = function {
тук пълня данните от vars в съответните полета на myArray
}
vars.load("file.txt");
Направих експеримент - ако задавам стойностите директно, т.е.:
myArray[0].score = 5;
myArray[1].score = 15;
myArray[2].score = 74;
myArray[3].score = 28;
тогава подреждането работи. Ама ако го пълня по горния начин - не ще.
Нямам идея защо така
| |
Тема
|
Re: Array.sortOn
[re: vens]
|
|
Автор |
vens (малко странен) |
Публикувано | 13.02.07 12:07 |
|
Ако за някой ще е полезно - открих решението, но не и отговора
Проблемът се реши, като преди задаване на стойност на myArray.score, конвертирам тази стойност от string на number. Тогава подреждането работи.
Но пак не е ясно какъв е тогава смисълът на Array.NUMERIC, която би трябвало да подрежда string-ове не като текст, а като числа.
Както и да е - важното е, че този път работи. Ще видим за следващия проект...
| |
|
|
|
|