idl*_*erg 7 javascript arrays sorting
我有一个看起来像这样的数组:
arr = ['a', 'b', 'c', 'd', 'e', 'f'];
Run Code Online (Sandbox Code Playgroud)
如何在维持订单的同时转移其值.例如,我想从以下开始'd':
new_arr = shiftArray(arr, 'd'); // => ['d', 'e', 'f', 'a', 'b', 'c']
Run Code Online (Sandbox Code Playgroud)
你可以做这样的事情
function shiftArray(arr, target){
return arr.concat(arr.splice(0,arr.indexOf(target)));
}
Run Code Online (Sandbox Code Playgroud)
var arr = ['a', 'b', 'c', 'd', 'e', 'f'];
function shiftArray(arr, target){
return arr.concat(arr.splice(0,arr.indexOf(target)));
}
alert(shiftArray(arr, 'd'));Run Code Online (Sandbox Code Playgroud)
这不会修改原始数组,我建议你重命名该功能
function rotateArrayAround(array, pivotNeedle) {
var pivot = array.indexOf(pivotNeedle);
return array.slice(pivot).concat(array.slice(0, pivot));
}
Run Code Online (Sandbox Code Playgroud)