if( typeof module !== undefined )
require( 'wTools' );
let _ = wTools;
var cb1 = ( e ) => e;
var cb2 = ( e ) => e ** 2;
var cb3 = ( e ) => Math.sqrt( e );
/* in vectors */
var elements = [ [ cb1, 'first' ], [ cb2, 'second' ], [ cb3, 'third' ] ];
var routines = _.vectorizeAccess( elements );
/* get property */
console.log( routines[ '$' ] );
// log [
// [ [Function: cb1], 'first' ],
// [ [Function: cb2], 'second' ],
// [ [Function: cb3], 'third' ]
// ]
console.log( routines[ 0 ] ); // log [Function]
console.log( routines[ 1 ].$ ); // log [ 'first', 'second', 'third' ]
/* set property */
routines[ 1 ] = 'new element';
console.log( routines[ '$' ] );
// log
// [
// [ [Function: cb1], 'new element' ],
// [ [Function: cb2], 'new element' ],
// [ [Function: cb3], 'new element' ]
// ]
console.log( routines[ 0 ] ); // log [Function]
console.log( routines[ 1 ].$ ); // log [ 'new element', 'new element', 'new element' ]
/* use callback */
var resultOperations = routines[ 0 ]( 4 );
console.log( resultOperations[ '$' ] ); // log [ 4, 16, 2 ]