2016-11-27 2 views
1

Я хочу изменить порядок массива с помощью ES6. Например:Перестроить массив в Javascript с ES6

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

Когда мой стартовый номер 5, я хочу новый массив, как это:

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

Я могу это исправить с помощью цикла, сравнения, нарезки, склеивания вещи обратно вместе.

Однако я прочитал некоторые интересные функции массива с ES6, которые могли бы сделать это проще. Но у меня проблемы с практикой.

+0

Кроме того, вы выбираете 5-й (индекс 4) место в массиве, потому что ваш стартовый номер 5 или потому, что он является пятно, где 5 случается? Иными словами, что должен делать этот метод с начальным числом 5 и входом [1,2,5,3,4,6,7,8,9]? –

+1

Что вы читали и какие проблемы? – MikeJRamsey56

ответ

1

Это может быть

let newArr = [...arr.slice(arr.indexOf(5)), ...arr.slice(0, arr.indexOf(5))] 

или

let newArr = [...arr]; 
newArr = [...newArr.splice(arr.indexOf(5)), ...newArr]; 
0

Таким образом, я не уверен, что это то, что вы имеете в виду, но считая, что мы начинаем с 5, потому что его значение (не позиция, если вы начинаете считать в 1) равно 5, новомодную идею, которую вы хотели).

var startArr =[1,2,3,4,5,6,7,8,9]; 
var startIndex=startArr.indexOf(5);//finds 5, if you meant just because it is the 5th. say startArr=5-1 
if (startIndex!=-1){ 
    var a1=startArr.slice(startIndex); 
    var a3=a1.concat(startArr.slice(0,startIndex)); 
    //a3 now contains what you wished for, you may console.log(a3) to see 
} 
Смежные вопросы