Javascript 对数组排序并指定起始位置
使用Javascript,我希望对整数数组进行排序,但我希望能够指定数组中的第一项,而不是从0开始。例如,使用此数组作为起点:Javascript 对数组排序并指定起始位置,javascript,arrays,sorting,Javascript,Arrays,Sorting,使用Javascript,我希望对整数数组进行排序,但我希望能够指定数组中的第一项,而不是从0开始。例如,使用此数组作为起点: var array = [4, 0, 1, 2, 5, 8, 7, 3, 6]; 如果我想重新订购,但从3开始,最终结果是: var array = [3, 4, 5, 6, 7, 8, 0, 1, 2]; 从8开始将如下所示: var array = [8, 0, 1, 2, 3, 4, 5, 6, 7]; 从0开始将如下所示(默认排序): 你知道我该怎么做吗?
var array = [4, 0, 1, 2, 5, 8, 7, 3, 6];
如果我想重新订购,但从3开始,最终结果是:
var array = [3, 4, 5, 6, 7, 8, 0, 1, 2];
从8开始将如下所示:
var array = [8, 0, 1, 2, 3, 4, 5, 6, 7];
从0开始将如下所示(默认排序):
你知道我该怎么做吗?
谢谢。这个怎么样
var array = [3, 4, 0, 1, 2, 5];
var startNumber = 2;
var test = array.sort(function(a, b) {
if(b < startNumber) {
return -1;
} else if(a < startNumber) {
return 1;
} else {
return a - b;
}
});
// test == [2, 3, 4, 5, 0, 1]
var数组=[3,4,0,1,2,5];
var startNumber=2;
var test=array.sort(函数(a,b){
如果(b
这应该可以做到:
array.sort(function(a, b) {
return (a<2) - (b<2) || a - b;
});
array.sort(函数(a,b){
return(a我不太确定您想要实现什么,因为在原始数组中,0
和1
已经排序。
假设要对整个数组进行排序,然后移动数组以将前两个元素放在末尾,则可以使用以下代码:
var array = [3, 4, 0, 1, 2, 5];
array = array.sort();
i = array.indexOf(2);
move = array.splice(0, i);
array.splice(array.length, 0, move);
alert(array);
演示是。你的意思是什么?排序不是从某个地方开始的。你想对数组排序,然后旋转它,直到2
在前面吗?请注意,这将使0
和1
未排序。你能解释一下(a@codezombie:您可以使用布尔值进行计算,它们在被减法时将被强制转换为0
/1
。感谢您的回答!到目前为止还不知道!:-)但是如果在javascript中(a0
的计算结果为false
。
var array = [3, 4, 0, 1, 2, 5];
array = array.sort();
i = array.indexOf(2);
move = array.splice(0, i);
array.splice(array.length, 0, move);
alert(array);