Javascript arrays // reordering an array starting at a specified index while keeping the original order
本问题已经有最佳答案,请猛点这里访问。
具有以下数组:
1 | var arr = [a,b,c,d,e]; |
我正在努力获得一个干净的函数,它根据指定的索引对数组进行排序,同时保持原始顺序
例如,从索引3中对数组进行排序(这里,从"d"中进行排序),将给出以下内容:
1 | [d,e,a,b,c] |
号
从索引2:
1 | [c,d,e,a,b] |
等。。。
这对一些人来说可能很明显,但我记不住了
感谢您的帮助,THX提前
*编辑*
是副本。这是一个好的。
https://stackoverflow.com/a/7861200/102133
1 2 3 4 5 6 7 8 | var arr = ['a','b','c','d','e']; function reorder(data, index) { return data.slice(index).concat(data.slice(0, index)) }; console.log(reorder(arr, 3)); console.log(reorder(arr, 2)); |
这个功能可以做你的工作
1 2 3 4 5 | 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. } |
号