Bug Tracker

Ticket #2803: faster-map.diff

File faster-map.diff, 0.8 kB (added by flesler, 8 months 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