我现在正在学习jQuery
,并且很惊讶如果在对象或通用可迭代对象上map
调用该方法,则回调中相同参数的顺序不同。jQuery
如果我调用map
对象jQuery
,回调将首先传递对象索引,然后传递对象值:
$( 'div:lt(5)' ).map( function( i, j ) { console.log( index, object ); } );
但是如果我调用map
一个列表或字典,回调参数会被反转!对象在前,索引在后:
$.map( [ 'a', 'b', 'c' ], function( i, j ) { console.log( object, index ); } );
是这种不一致的任何架构原因,还是只是随机的黑客攻击而没有人关心?