js-fns
Version:
Modern JavaScript utility library focused on the build size
44 lines (36 loc) • 831 B
JavaScript
/**
* Creates an array with elements present in all given arrays.
*
* @param arrays - The array of arrays of elements to get elements from
* @returns An array with elements present in all given arrays
*
* @public
*/
/**
* @internal
*/
export default function zip() {
for (
var _len = arguments.length, arrays = new Array(_len), _key = 0;
_key < _len;
_key++
) {
arrays[_key] = arguments[_key]
}
if (arrays.length === 0) {
return arrays
}
var longestArrayLength = arrays.slice().sort(function (a, b) {
return b.length - a.length
})[0].length
var result = []
for (var i = 0; i < longestArrayLength; i++) {
var arr = []
for (var j = 0; j < arrays.length; j++) {
var element = arrays[j][i]
arr.push(element)
}
result.push(arr)
}
return result
}