UNPKG

foop

Version:

interfaces that describe their intentions.

33 lines (31 loc) 2.64 kB
/** * @desc flatten multi-dimensional arrays in 1 line * @since 4.0.0 * @memberOf array * * @param {Array<Array | any>} x array(s) to flatten * @return {Array<any>} flattened arrays * * {@link https://stackoverflow.com/questions/10865025/merge-flatten-an-array-of-arrays-in-javascript stack-overflow-flatten} * {@link https://github.com/andrewplummer/Sugar/blob/master/lib/array.js#L202 sugar-flatten} * {@link https://github.com/jashkenas/underscore/blob/master/underscore.js#L527 underscore-flatten} * @see {@link underscore-flatten} * @see {@link sugar-flatten} * @see {@link stack-overflow-flatten} * * @example * * flatten([[1], [2]]) * //=> [1, 2] * flatten([[1], 2]) * //=> [1, 2] * flatten(1) * //=> [1] * */ module.exports = function (x) { return [].concat.apply([], x); } // function flatten(arr) { // const flat = [].concat(...arr) // return flat.some(Array.isArray) ? flatten(flat) : flat // } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhdHRlbi5qcyIsInNvdXJjZXMiOlsiZmxhdHRlbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBkZXNjIGZsYXR0ZW4gbXVsdGktZGltZW5zaW9uYWwgYXJyYXlzIGluIDEgbGluZVxuICogQHNpbmNlIDQuMC4wXG4gKiBAbWVtYmVyT2YgYXJyYXlcbiAqXG4gKiBAcGFyYW0gIHtBcnJheTxBcnJheSB8IGFueT59IHggYXJyYXkocykgdG8gZmxhdHRlblxuICogQHJldHVybiB7QXJyYXk8YW55Pn0gZmxhdHRlbmVkIGFycmF5c1xuICpcbiAqIHtAbGluayBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xMDg2NTAyNS9tZXJnZS1mbGF0dGVuLWFuLWFycmF5LW9mLWFycmF5cy1pbi1qYXZhc2NyaXB0IHN0YWNrLW92ZXJmbG93LWZsYXR0ZW59XG4gKiB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2FuZHJld3BsdW1tZXIvU3VnYXIvYmxvYi9tYXN0ZXIvbGliL2FycmF5LmpzI0wyMDIgc3VnYXItZmxhdHRlbn1cbiAqIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vamFzaGtlbmFzL3VuZGVyc2NvcmUvYmxvYi9tYXN0ZXIvdW5kZXJzY29yZS5qcyNMNTI3IHVuZGVyc2NvcmUtZmxhdHRlbn1cbiAqIEBzZWUge0BsaW5rIHVuZGVyc2NvcmUtZmxhdHRlbn1cbiAqIEBzZWUge0BsaW5rIHN1Z2FyLWZsYXR0ZW59XG4gKiBAc2VlIHtAbGluayBzdGFjay1vdmVyZmxvdy1mbGF0dGVufVxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogICAgZmxhdHRlbihbWzFdLCBbMl1dKVxuICogICAgLy89PiBbMSwgMl1cbiAqICAgIGZsYXR0ZW4oW1sxXSwgMl0pXG4gKiAgICAvLz0+IFsxLCAyXVxuICogICAgZmxhdHRlbigxKVxuICogICAgLy89PiBbMV1cbiAqXG4gKi9cbm1vZHVsZS5leHBvcnRzID0geCA9PiBbXS5jb25jYXQuYXBwbHkoW10sIHgpXG5cbi8vIGZ1bmN0aW9uIGZsYXR0ZW4oYXJyKSB7XG4vLyAgIGNvbnN0IGZsYXQgPSBbXS5jb25jYXQoLi4uYXJyKVxuLy8gICByZXR1cm4gZmxhdC5zb21lKEFycmF5LmlzQXJyYXkpID8gZmxhdHRlbihmbGF0KSA6IGZsYXRcbi8vIH1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXlCQSxNQUFNLENBQUMsT0FBTyxHQUFHLFVBQUEsQ0FBQyxDQUFBLENBQUMsQUFBRyxTQUFBLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBQTs7Ozs7OyJ9