From: Timo Tijhof Date: Sat, 25 Mar 2017 04:15:04 +0000 (-0700) Subject: resourceloader: Use Array#map instead of jQuery#map for arrays X-Git-Tag: 1.31.0-rc.0~3610^2 X-Git-Url: https://git.cyclocoop.org/%7B%24www_url%7Dadmin/compta/exercices/journal.php?a=commitdiff_plain;h=d3b34860a703c0e853a40a907458909ccae56aee;p=lhc%2Fweb%2Fwiklou.git resourceloader: Use Array#map instead of jQuery#map for arrays Upto 50% faster, depending on the browser. https://gist.github.com/Krinkle/4a22236022027af511b8d33feab0c4c2#gistcomment-2037282 Also change confusing parameter name 'i' to 'obj' in getModuleNames(). This one can't be changed since it loops over an object, not an array. Bug: T160953 Change-Id: I85d6348670703c7ef061ba735ea441a1fc008062 --- diff --git a/resources/src/mediawiki/mediawiki.js b/resources/src/mediawiki/mediawiki.js index c2cee7ec6f..b963c7b0c1 100644 --- a/resources/src/mediawiki/mediawiki.js +++ b/resources/src/mediawiki/mediawiki.js @@ -983,7 +983,7 @@ * @return {string} Hash of concatenated version hashes. */ function getCombinedVersion( modules ) { - var hashes = $.map( modules, function ( module ) { + var hashes = modules.map( function ( module ) { return registry[ module ].version; } ); return fnv132( hashes.join( '' ) ); @@ -2146,7 +2146,7 @@ * @return {Array} */ getModuleNames: function () { - return $.map( registry, function ( i, key ) { + return $.map( registry, function ( obj, key ) { return key; } ); }, @@ -2778,7 +2778,7 @@ // for all loading modules. If one fails, fall back to tracking each module // separately via $.when(), this is expensive. loading = mw.loader.using( loading ).then( null, function () { - var all = $.map( loading, function ( module ) { + var all = loading.map( function ( module ) { return mw.loader.using( module ).then( null, function () { return $.Deferred().resolve(); } );