Nodejs Array Rotate rotateArray(n)

Here you can find the source of rotateArray(n)

Method Source Code

/*//from   ww w.  j a v a  2  s .c o m
*   Rotate an array 
*   Input : 
*       [1, 2, 3, 4, 5, 6, 7, 8, 9]
*       3
*   Output :
*       [7, 8, 9, 1, 2, 3, 4, 5, 6]
*   -------------------------------
*   Input : 
*       [1, 2, 3, 4]
*       1
*   Output :
*       [4, 1, 2, 3]
*   -------------------------------
*   Input : 
*       [1, 2, 3, 4]
*       0
*   Output :
*       [1, 2, 3, 4]
*/

Array.prototype.rotateArray = function (n) {
    let firstArray = [];
    let secondArray = [];
    for (let i = this.length - 1; i > this.length - n - 1; i--) {
        firstArray.unshift(this[i]);
    }
    for (let j = 0; j < this.length - n; j++) {
        secondArray[secondArray.length] = this[j];
    }
    return firstArray.concat(secondArray);
}

function createArray() {
    let valuesStr = prompt("Enter an Array : ");
    let arrayStr = valuesStr.split(" ");
    let array = [];
    for (let i = 0; i < arrayStr.length; i++) {
        if (arrayStr[i] )
        array[array.length] = Number(arrayStr[i]);
    }
    return array;
}
 
let array = createArray();
console.log(array.rotateArray(3));

Related

  1. rotate(K)
    Array.prototype.rotate = function (K){
      var N = this.length;
      if( N  < 1 || K < 1 || K > N ){
        return this;
      this.reverse(0, N - K - 1);
      this.reverse(N-K, N-1);
      this.reverse();
      return this;
    ...
    
  2. rotate(count)
    Array.prototype.rotate = function(count)
            var len = this.length >>> 0, 
                count = count >> 0; 
            count = ((count % len) + len) % len;
            var copy = this.clone(this);
            push.apply(copy, splice.call(copy, 0, count));
            return copy;
      };
    ...
    
  3. rotate(n)
    Array.prototype.rotate = function(n) {
      this.unshift.apply(this, this.splice(n + 1, this.length))
      return this;
    var arr = [1, 2, 3, 4, 5];
    var arr1 = [1, 2, 3, 4, 5];
    var rotate = function(arr, r) {
      arr.unshift.apply(arr, arr.splice(r + 1, arr.length));
    };
    ...
    
  4. rotate(n)
    var a =  (function() { var a = []; for (var i = 0; i < 35; i++) { a.push(i) }; return a; }())
    Array.prototype.rotate = function(n) {
      var a = this.concat(this.splice(0, n))
      return a
    a.rotate(12)
    function findI(arr, i) {
      if (arr.length == 2) { return i+1 }
      var k = (arr.length/2).floor(), i = i || 0
    ...
    
  5. rotate(times)
    Array.prototype.rotate = function(times) {
      if (times < 0) {
        var last = arr.pop
        return arr.unshift(last)
    function solution (numbers, times) {
      for (var i = 0; i < times; i++) {
        numbers.rotate
    ...
    
  6. rotate_copy(begin, middle, end)
    Array.prototype.rotate_copy = function (begin, middle, end) {
      var back = this.slice (begin, middle - begin);
      back.unshift (0);
      back.unshift (end - middle);
      var front = this.slice (middle, end);
      front.splice.apply (front, back);
      return front;
    };