sanic.js
Version:
JS Native Functions gotta go fast
32 lines (25 loc) • 610 B
JavaScript
;
/* ECMA Reference
* http://www.ecma-international.org/ecma-262/6.0/#sec-array.prototype.reverse
*/
/**
* @param {Array} array - array
* @return the reversed array
*/
module.exports = function reverseClosure(nativeReverse) {
return function reverse(array) {
if (!array) {
return;
}
if (!Array.isArray(array)) {
return nativeReverse.call(...arguments);
}
let tmp = null;
for (let i = 0, iMax = Math.floor(array.length / 2); i < iMax; i++) {
tmp = array[i];
array[i] = array[array.length - i - 1];
array[array.length - i - 1] = tmp;
}
return array;
};
};