extra-array
Advanced tools
+0
-11
@@ -217,13 +217,2 @@ // PURE FUNCTIONS | ||
| // - manipulate input arrays | ||
| /** | ||
| * Appends arrays to end of input array! | ||
| * @param {Array} x input array | ||
| * @param {...array} ys arrays to append | ||
| * @returns input array (modified!) | ||
| */ | ||
| function append(x, ...ys) { | ||
| for(var y of ys) | ||
| Array.prototype.push.apply(x, y); | ||
| return x; | ||
| } | ||
@@ -230,0 +219,0 @@ function cons() { |
+1
-1
| { | ||
| "name": "extra-array", | ||
| "version": "2.0.18", | ||
| "version": "2.0.19", | ||
| "description": "Standard utility methods for Array.", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
+73
-4
| /** | ||
| * Gets element at index (+ve / -ve). | ||
| * Gets true index to source (+ve). | ||
| * @param {Array} x source | ||
| * @param {number} i index (-ve => from right) | ||
| * @returns {*} element | ||
| * @param {number} i index | ||
| * @returns {number} +ve index | ||
| */ | ||
| function index(x, i) { | ||
| return i<0? x.length-i:i; | ||
| } | ||
| /** | ||
| * Gets value at index (+ve, -ve). | ||
| * @param {Array} x source | ||
| * @param {number} i index (-ve: from right) | ||
| * @returns {*} value | ||
| */ | ||
| function get(x, i) { | ||
| return i<0? x[x.length-i]:x[i]; | ||
| return x[index(x, i)]; | ||
| } | ||
| /** | ||
| * Sets value at index (+ve, -ve). | ||
| * @param {Array} x source | ||
| * @param {number} i index (-ve: from right) | ||
| * @param {*} v value | ||
| * @returns {Array} set array | ||
| */ | ||
| function set(x, i, v) { | ||
| return splice(x, index(x, i), 1, v); | ||
| } | ||
| /** | ||
| * Sets value at index (+ve, -ve)! | ||
| * @param {Array} x target (modified!) | ||
| * @param {number} i index (-ve: from right) | ||
| * @param {*} v value | ||
| * @returns {Array} target | ||
| */ | ||
| function set$(x, i, v) { | ||
| x[index(x, i)] = v; | ||
| return x; | ||
| } | ||
| /** | ||
| * Gets first value. | ||
| * @param {Array} x source | ||
| * @returns {*} first value | ||
| */ | ||
| function head(x) { | ||
| return x[0]; | ||
| } | ||
| /** | ||
| * Gets values except first. | ||
| * @param {Array} x source | ||
| * @returns {Array} except first | ||
| */ | ||
| function tail(x) { | ||
| return x.slice(1); | ||
| } | ||
| /** | ||
| * Gets values except last. | ||
| * @param {Array} x source | ||
| * @returns {Array} except last | ||
| */ | ||
| function init(x) { | ||
| return x.slice(0, -1); | ||
| } | ||
| /** | ||
| * Gets last value. | ||
| * @param {Array} x source | ||
| * @returns {*} last value | ||
| */ | ||
| function last(x) { | ||
| return x[x.length-1]; | ||
| } |
26811
3.52%815
6.68%