Arrays 对数组进行排序,但仅对ActionScript中的前X个项目进行排序?
我有一个整数数组,我需要对数组进行排序,但只对前12个数字进行排序。 这是我目前掌握的代码:Arrays 对数组进行排序,但仅对ActionScript中的前X个项目进行排序?,arrays,actionscript-3,sorting,Arrays,Actionscript 3,Sorting,我有一个整数数组,我需要对数组进行排序,但只对前12个数字进行排序。 这是我目前掌握的代码: cantidad_bolillas_array = Bolillas_Array.length; if(cantidad_bolillas_array > 12) { array1 = Bolillas_Array.slice(0, 12); array2 = Bolillas_Array.slice(12, cantidad_bolillas_array - 1); ar
cantidad_bolillas_array = Bolillas_Array.length;
if(cantidad_bolillas_array > 12) {
array1 = Bolillas_Array.slice(0, 12);
array2 = Bolillas_Array.slice(12, cantidad_bolillas_array - 1);
array1.sort();
Bolillas_Array = array1.concat(array2);
}else{
Bolillas_Array.sort();
}
但这对我不起作用。实现这一点的最佳方法是什么?只需做一些更改,请参见更新代码示例中的注释:
var cantidad_bolillas_array:Number = Bolillas_Array.length;
if(cantidad_bolillas_array > 12) {
var array1:Array = Bolillas_Array.slice(0, 12);
// when you use slice, remember that the endIndex is exclusive, not inclusive
// that means you use "last index + 1" to get all the elements in the array
var array2:Array = Bolillas_Array.slice(12, cantidad_bolillas_array);
// make sure you sort numerically, otherwise you'll see stuff like
// "1, 11, 111, 2, 22, 222" etc
array1.sort(Array.NUMERIC);
Bolillas_Array = array1.concat(array2);
}else{
// once again, make sure to sort numerically
Bolillas_Array.sort(Array.NUMERIC);
}
不是为我工作。。。我不知道为什么,因为逻辑是正确的。我的数组包含这样的字符串[02,03,…,01],这段代码对我不希望01被排序的所有元素进行排序不确定问题出在哪里,我只是用数组[02,03,07,08,06,09,04,06,07,03,05,03,01]进行了尝试,结果它吐出了02,03,03,03,03,04,04,05,06,07,07,08,09,01。也许您应该发布您正试图排序的确切数组。