首页 > 解决方案 > 如何重新排列数组以从中间开始?

问题描述

我想重新排列一个数组以从任何元素开始。

例如arr = [1,2,3,4,5,6,7,8]

如果数字选择 5 则输出

arr = [5,6,7,8,1,2,3,4]

如果数字选择 3 则输出

arr = [3,4,5,6,7,8,1,2]

如果数字选择 7 则输出

arr = [7,8,1,2,3,4,5,6]

任何有关我如何进行此操作的建议或指导将不胜感激。谢谢你。

标签: javaarraysalgorithmsorting

解决方案


签出这个 Javascript 代码。您可以更改 varselect以获得所需的输出。

var select = 5;
var arr = [1,2,3,4,5,6,7,8];
var newArr =[];

if(select <= arr.length && select > 0) {
  for (var i = select-1; i < (select + arr.length -1); i++) {
    newArr.push(arr[i % arr.length]);
  }
}

console.log(newArr)

输出是

 [5,6,7,8,1,2,3,4]

推荐阅读