tui-code-snippet
Version:
TOAST UI Utility: CodeSnippet
44 lines (37 loc) • 1.03 kB
JavaScript
/**
* @fileoverview Zip together multiple lists into a single array.
* @author NHN FE Development Lab <dl_javascript@nhn.com>
*/
;
var forEach = require('../collection/forEach');
/**
* Zip together multiple lists into a single array.
* @param {...Array} ...Arrays - Arrays to be zipped
* @returns {Array}
* @memberof module:array
* @example
* // ES6
* import zip from 'tui-code-snippet/array/zip';
*
* // CommonJS
* const zip = require('tui-code-snippet/array/zip');
*
* const result = zip([1, 2, 3], ['a', 'b', 'c'], [true, false, true]);
* console.log(result[0]); // [1, 'a', true]
* console.log(result[1]); // [2, 'b', false]
* console.log(result[2]); // [3, 'c', true]
*/
function zip() {
var arr2d = Array.prototype.slice.call(arguments);
var result = [];
forEach(arr2d, function(arr) {
forEach(arr, function(value, index) {
if (!result[index]) {
result[index] = [];
}
result[index].push(value);
});
});
return result;
}
module.exports = zip;