nCartesianProduct
Return the n-fold Cartesian product.
Usage
var nCartesianProduct = require( '@stdlib/array/base/n-cartesian-product' );
nCartesianProduct( x1, x2[, ...xN] )
Returns the n-fold Cartesian product.
var x1 = [ 1, 2, 3 ];
var x2 = [ 4, 5 ];
var out = nCartesianProduct( x1, x2 );
// returns [ [ 1, 4 ], [ 1, 5 ], [ 2, 4 ], [ 2, 5 ], [ 3, 4 ], [ 3, 5 ] ]
If provided one or more empty arrays, the function returns an empty array.
var x1 = [ 1, 2, 3, 4 ];
var x2 = [];
var out = nCartesianProduct( x1, x2 );
// returns []
Examples
var linspace = require( '@stdlib/array/base/linspace' );
var nCartesianProduct = require( '@stdlib/array/base/n-cartesian-product' );
var x1 = linspace( 0, 5, 6 );
var x2 = linspace( 10, 15, 6 );
var x3 = linspace( 20, 25, 6 );
var out = nCartesianProduct( x1, x2, x3 );
// returns [ [ 0, 10, 20 ], [ 0, 10, 21 ], ... ]