Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 按值移位数组,保持排序顺序_Javascript_Arrays_Sorting - Fatal编程技术网

Javascript 按值移位数组,保持排序顺序

Javascript 按值移位数组,保持排序顺序,javascript,arrays,sorting,Javascript,Arrays,Sorting,我有一个如下所示的数组: arr = ['a', 'b', 'c', 'd', 'e', 'f']; 如何在保持顺序的同时移动其值。例如,我想以'd'开头: new_arr = shiftArray(arr, 'd'); // => ['d', 'e', 'f', 'a', 'b', 'c'] 你可以这样做 function shiftArray(arr, target){ return arr.concat(arr.splice(0,arr.indexOf(target)));

我有一个如下所示的数组:

arr = ['a', 'b', 'c', 'd', 'e', 'f'];
如何在保持顺序的同时移动其值。例如,我想以
'd'
开头:

new_arr = shiftArray(arr, 'd'); // => ['d', 'e', 'f', 'a', 'b', 'c']

你可以这样做

function shiftArray(arr, target){ 
  return arr.concat(arr.splice(0,arr.indexOf(target)));
}
var arr=['a','b','c','d','e','f'];
函数移位数组(arr,目标){
返回arr.concat(arr.splice(0,arr.indexOf(target));
}

警报(移位(arr,'d'))这不会修改原始数组,而且我建议您重命名该函数

function rotateArrayAround(array, pivotNeedle) {
   var pivot = array.indexOf(pivotNeedle);   
   return array.slice(pivot).concat(array.slice(0, pivot));
}

你确定你的数组总是唯一的吗?是的,它由唯一的文件填充-names@idleberg如果你的原始数组在这个过程中被篡改了,可以吗?@thefourtheye是的,很好它会修改原始数组,可以吗?