Skip to content

Latest commit

 

History

History

unzip

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

Unzip

Unzip a [zipped array][zip](i.e., a nested array of tuples).

Usage

var unzip = require( '@stdlib/utils/unzip' );

unzip( arr[, idx] )

Unzips a [zipped array][zip] (i.e., a nested array of tuples).

var arr = [ [1,'a',3], [2,'b',4] ];

var out = unzip( arr );
// returns [ [1,2], ['a','b'], [3,4] ];

To unzip specific tuple elements, you can provide an array of indices as an optional second argument.

var arr = [ [1,'a',3], [2,'b',4] ];

var out = unzip( arr, [0,2] );
// returns [ [1,2], [3,4] ];

Examples

// FIXME: change mean require statement as soon as it becomes available...

var unzip = require( '@stdlib/sutils/unzip' );
var round = require( '@stdlib/math/base/special/round' );
var randu = require( '@stdlib/math/base/random/randu' );
var mean = require( 'compute-mean' );
var pow = require( '@stdlib/math/base/special/pow' );

var arr;
var len;
var out;
var mu;
var i;
var k;

// Simulate some data...
arr = new Array( 100 );
len = 5;

for ( i = 0; i < arr.length; i++ ) {
	arr[ i ] = new Array( len );
	for ( var j = 0; j < len; j++ ) {
		arr[ i ][ j ] = round( randu() * pow(10,j) );
	}
}
// Unzip and compute the means...
out = unzip( arr );


mu = new Array( len );
for ( k = 0; k < len; k++ ) {
	mu[ k ] = mean( out[k] );
}
console.log( mu.join( '\t' ) );

// FIXME: change link to stdlib module... [zip]: https://github.com/compute-io/zip