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