Rotate the elements in an array in JavaScript

后端 未结 30 1792
走了就别回头了
走了就别回头了 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条回答
  •  闹比i
    闹比i (楼主)
    2020-11-22 11:06

    I would probably do something like this:

    Array.prototype.rotate = function(n) {
        return this.slice(n, this.length).concat(this.slice(0, n));
    }
    

    Edit    Here’s a mutator version:

    Array.prototype.rotate = function(n) {
        while (this.length && n < 0) n += this.length;
        this.push.apply(this, this.splice(0, n));
        return this;
    }
    

提交回复
热议问题