Bug Tracker

Ticket #2803: faster-map.diff

File faster-map.diff, 780 bytes (added by flesler, 8 years ago)
  • core.js

     
    11851185        },
    11861186
    11871187        map: function( elems, callback ) {
    1188                 var ret = [];
     1188                var ret = [], value;
    11891189
    11901190                // Go through the array, translating each of the items to their
    11911191                // new value (or values).
    11921192                for ( var i = 0, length = elems.length; i < length; i++ ) {
    1193                         var value = callback( elems[ i ], i );
     1193                        value = callback( elems[ i ], i );
    11941194
    1195                         if ( value !== null && value != undefined ) {
    1196                                 if ( value.constructor != Array )
    1197                                         value = [ value ];
    1198 
    1199                                 ret = ret.concat( value );
    1200                         }
     1195                        if ( value != null )
     1196                                ret[ ret.length ] = value;
    12011197                }
    12021198
    1203                 return ret;
     1199                return ret.concat.apply( [], ret );
    12041200        }
    12051201});
    12061202