UNPKG

@kitmi/utils

Version:

A JavaScript utility library for both server and browser

40 lines (34 loc) 744 B
/** * One-by-one merge two arrays into one * 10x faster than lodash flatten and zip * @alias array.zipAndFlat * @param {Array} arr1 * @param {Array} arr2 * @returns {Array} */ function zipAndFlat(arr1, arr2) { let long, result = [], ll, ls; const l1 = arr1 == null ? 0 : arr1.length; const l2 = arr2 == null ? 0 : arr2.length; if (l2 > l1) { ll = l2; ls = l1; long = arr2; } else { ll = l1; ls = l2; long = arr1; } for (let i = 0; i < ls; i++) { result.push(arr1[i]); result.push(arr2[i]); } for (let i = ls; i < ll; i++) { result.push(long[i]); } return result; } export default zipAndFlat;