虽然.map()方法的接口是.map(回调(索引,domElement)),但$.map()的$.map(数组,回调(elementOfArray,indexInArray))…任何关于原因的想法$.map()选择将返回的参数放在诸如value-index之类的顺序中?
解决方法
如果您研究jQuery API,您会注意到所有处理一组选定元素并接受回调的方法,例如.each,.html,.text等,都将元素的索引作为第一个参数传递,即.map在这里排队.通常你在回调中使用this访问当前元素,这只是jQuery中的一个常见模式,因此开发人员可能已经决定将索引作为第一个参数更为重要.
另一方面,本机Array.prototype.map
方法将元素的值作为第一个参数传递给回调,因此似乎有意义$.map以相同的方式工作,因为它应该处理一组通用项.