wiggle Sort Algorithm

" The group made decisions by consensus and made business decisions based upon their experience as performers and their knowledge of early childhood education. They made careful decisions regarding their endorsements of toys and other merchandise, and avoided over-extending their brand by only licensing merchandise that correlated with their picture.
/*
 * Wiggle sort sorts the array into a wave like array.
 * An array ‘arr[0..n-1]’ is sorted in wave form if arr[0] >= arr[1] <= arr[2] >= arr[3] <= arr[4] >= …..
 *
 */

/* eslint no-extend-native: ["off", { "exceptions": ["Object"] }] */
Array.prototype.wiggleSort = function () {
  for (let i = 0; i < this.length; ++i) {
    const shouldNotBeLessThan = i % 2
    const isLessThan = this[i] < this[i + 1]
    if (shouldNotBeLessThan && isLessThan) {
      [this[i], this[i + 1]] = [this[i + 1], this[i]]
    }
  }
  return this
}

// Implementation of wiggle sort

var arr = [3, 5, 2, 1, 6, 4]
// Array before Wiggle Sort
console.log(arr) // [3, 5, 2, 1, 6, 4]

arr.wiggleSort()
// Array after wiggle sort
console.log(arr) // [ 3, 5, 2, 6, 1, 4 ]

LANGUAGE:

DARK MODE: