Javascript数组//在保持原始顺序的同时,从指定索引开始对数组重新排序
具有以下阵列:Javascript数组//在保持原始顺序的同时,从指定索引开始对数组重新排序,javascript,arrays,sorting,Javascript,Arrays,Sorting,具有以下阵列: var arr = [a,b,c,d,e]; 我正在努力获得一个干净的函数,该函数根据指定的索引对数组进行排序,同时保持原始顺序 例如,从索引3(这里是从“d”)对数组进行排序将得到以下结果: [d,e,a,b,c] 从索引2: [c,d,e,a,b] 等等 这对某些人来说可能是显而易见的,但我无法在脑海中表达出来 感谢您的帮助,请提前通知我们 *编辑* 这是一个复制品。这是一个好的 var arr=['a','b','c','d','e']; 函数重新排序(数据、索引)
var arr = [a,b,c,d,e];
我正在努力获得一个干净的函数,该函数根据指定的索引对数组进行排序,同时保持原始顺序
例如,从索引3(这里是从“d”)对数组进行排序将得到以下结果:
[d,e,a,b,c]
从索引2:
[c,d,e,a,b]
等等
这对某些人来说可能是显而易见的,但我无法在脑海中表达出来
感谢您的帮助,请提前通知我们
*编辑*
这是一个复制品。这是一个好的
var arr=['a','b','c','d','e'];
函数重新排序(数据、索引){
返回data.slice(index).concat(data.slice(0,index))
};
控制台日志(重新排序(arr,3));
控制台日志(重新排序(arr,2))代码>此函数将完成您的工作
var reorder = function(arr,index){
var start = arr.slice(index); // This will return me elements from a given index
var end = arr.slice(0,index); // This will return me elements before a given index
return start.concat(end); // Concat 2nd array to first and return the result.
}
我认为“排序”这个词在这里不合适,因为“排序”的意思是“重新排序”。旋转可能?是的,“重新排序”听起来更好从索引a开始,然后从0索引重新开始,然后转到第一个开始索引。你自己试试吧。。。“你可以使用两个循环……但你的想法是对的吗?”埃斯内尔·多哥我试了很多,这就是为什么我要问这个问题