Nodejs Array Swap swap(a, b)

Here you can find the source of swap(a, b)

Method Source Code

// Returns last element in array, or last element that matches a predicate fn

Array.prototype.swap = function(a, b) {

    // Prototypes throw TypeErrors when the context or arguments are invalid

    if (Object.prototype.toString.call(this) !== '[object Array]') {
        throw new TypeError("`this` must be Array, not " + typeof this);
    }//from  w w  w.  j  a va2  s . c o m
    
    if (typeof a !== 'number') {
        throw new TypeError("argument[0] must be number, not " + typeof a);
    }

    if (typeof b !== 'number') {
        throw new TypeError("argument[1] must be number, not " + typeof b);
    }

    var temp = this[a];
    
    this[a] = this[b];
    this[b] = temp;
    
    return this;
};

Related

  1. swap(a, b)
    Array.prototype.swap = function(a, b) {
      this[a] = [this[b], this[b] = this[a]][0];
    
  2. swap(a, b)
    Array.prototype.swap = function(a, b){
        this[a] = this.splice(b, 1, this[a])[0];
        return this;
    };
    
  3. swap(a, b)
    Array.prototype.swap = function(a, b)
      var t = this[a];
      this[a] = this[b];
      this[b] = t;
    };
    
  4. swap(a, b)
    function qsort(array, begin, end)
      if(end-1>begin) {
        var pivot= 0;
        pivot=partition(array, begin, end, pivot);
        qsort(array, begin, pivot);
        qsort(array, pivot+1, end);
    Array.prototype.swap=function(a, b)
      var tmp=this[a];
      this[a]=this[b];
      this[b]=tmp;
    function partition(array, begin, end, pivot)
      var piv=array[pivot].minPoint.z;
      array.swap(pivot, end-1);
      var store=begin;
      var ix;
      for(ix=begin; ix<end-1; ++ix) {
        if(array[ix].minPoint.z<=piv) {
          array.swap(store, ix);
          ++store;
      array.swap(end-1, store);
      return store;
    function quick_sort(array)
      qsort(array, 0, array.length);
    
  5. swap(a, b)
    Array.prototype.swap=function(a, b)
        console.log("calling swap");
        var tmp=this[a];
        this[a]=this[b];
        this[b]=tmp;
    
  6. swap(a, b)
    Array.prototype.swap=function(a, b)
      var tmp=this[a];
      this[a]=this[b];
      this[b]=tmp;
    function insert(array, begin, end, v)
      while(begin+1<end && array[begin+1]<v) {
    ...
    
  7. swap(a,b)
    Array.prototype.swap = function(a,b){
      var tmp = this[a];
      this[a] = this[b];
      this[b] = tmp;
    
  8. swap(firstIndex, secondIndex)
    function bubbleSort(arr) {
      if (arr.length === 0 || arr.length === undefined) {
        return "No array as arg!"
      if (arr.length === 1) {
        return arr;
      var swapped = true;
      while (swapped) {
    ...