Rotate the elements in an array in JavaScript

后端 未结 30 1242
走了就别回头了
走了就别回头了 2020-11-22 10:55

I was wondering what was the most efficient way to rotate a JavaScript array.

I came up with this solution, where a positive n rotates the array to the

30条回答
  •  花落未央
    2020-11-22 11:04

    Easy solution with slice and destructuring:

    const rotate = (arr, count = 1) => {
      return [...arr.slice(count, arr.length), ...arr.slice(0, count)];
    };
    
    const arr = [1,2,3,4,5];
    
    console.log(rotate(arr, 1));  // [2, 3, 4, 5, 1]
    console.log(rotate(arr, 2));  // [3, 4, 5, 1, 2]
    console.log(rotate(arr, -2)); // [4, 5, 1, 2, 3]
    console.log(rotate(arr, -1)); // [5, 1, 2, 3, 4]

提交回复
热议问题