Nodejs Array Reverse reverse()

Here you can find the source of reverse()

Method Source Code

/**//from  w  w w  .  j a  v a2s  . c  o  m
 The Array's reverse() method has gone missing! Re-write it, quick-sharp!
 When this method is called, it reverses the order of the items in the original array. Then then it returns that same,
 original array. No new arrays should need to be created to pass this kata.
 Here's an example:
 var input = [1, 2, 3, 4];
 input.reverse(); // == [4, 3, 2, 1]  // returned by .reverse()
 input;           // == [4, 3, 2, 1]  // items reordered in the original array
 */

Array.prototype.reverse = function() {
    var array = [];
    var length = this.length;
    for (var i = length - 1; i >= 0; i--) {
        array.push(this[i]);
    }
    for (var i = 0; i < length; i++) {
        this[i] = array[i];
    }
    return this;
};

var input = [1, 2, 3, 4];
input.reverse(); // == [4, 3, 2, 1]  // returned by .reverse()
console.log(input); // == [4, 3, 2, 1]  // items reordered in the original array

Related

  1. reverse()
    Array.prototype.reverse = function() {
      if (this.length > 1) {
        for (var i = 0; i < Math.floor(this.length/2); i++){
          var temp = this[i];
          this[i] = this[this.length-1-i];
          this[this.length-1-i] = temp;
          console.log(this);
    var array = [0,1,2,3,4];
    console.log(Math.floor(array.length/2));
    array.reverse()
    
  2. reverse()
    Array.prototype.reverse = function () {
      var counter, 
        temp, 
        index;
      counter = this.length;
        while (counter > 0) {
            index = Math.floor(Math.random() * counter);
            counter--;
            temp = array[counter];
    ...
    
  3. reverse()
    Array.prototype.reverse = function () {
      var counter, 
        temp, 
        index;
      counter = this.length;
        while (counter > 0) {
            index = Math.floor(Math.random() * counter);
            counter--;
            temp = this[counter];
    ...
    
  4. reverse()
    Array.prototype.reverse = function () {
      var counter, 
        temp, 
        index;
      counter = this.length;
        while (counter > 0) {
            index = Math.floor(Math.random() * counter);
            counter--;
            temp = array[counter];
    ...
    
  5. reverse()
    Array.prototype.reverse = function () {
        for (var i = 0, j = this.length - 1; i < j; i++, j--) {
            var tmp = this[i];
            this[i] = this[j];
            this[j] = tmp;
        return this;
    };
    
  6. reverse()
    Array.prototype.reverse = function(){
      var a = this;
      for(var i =0;i<(a.length>>1);i++)
        this.swap(i,a.length-1-i);
    
  7. reverse(arr)
    (function() {
    'use strict'
    let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    Array.prototype.reverse = Array.prototype.reverse || function(arr) {
        for(let i = 0; i < arr.length / 2; i++) {
            let opp =  arr.length - i - 1   
            arr[i] += arr[opp]
            arr[opp] = arr[i] - arr[opp]
            arr[i] -= arr[opp]
    ...
    
  8. reverse(fn)
    Array.prototype.reverse = function(fn) {
      for (var i = this.length - 1; i >= 0; i--) fn(this[i]);
    
  9. reverse1()
    Array.prototype.reverse1 = function() {
        var arrLength = this.length;
        for(var i = arrLength-1; i>=0; i--){
            this.push(this[i]);
        this.splice(0,arrLength);
        return this;
    };
    console.log([3,2,1].reverse1());
    ...