虽然.map()方法的接口是.map( callback(index, domElement) ),但它是$.map( array, callback(elementOfArray, indexInArray) )$ .map()...有什么想法为什么$ .map()选择将返回的参数放在诸如value-index的顺序中?
因为API不完善.它开始不一致,但现在修复它将破坏使用的现有代码$.map().
如果您研究 jQuery API,您会注意到所有作用于一组选定元素并接受回调的方法(例如.each、.html、.text等)都将元素的索引作为第一个参数传递,即.map与此处一致。通常,您可以在回调中访问当前元素this,这只是 jQuery 中的常见模式,因此开发人员可能认为将索引作为第一个参数更重要。
另一方面,本机Array.prototype.map方法将元素的值作为第一个参数传递给回调,因此以$.map相同的方式工作似乎是有意义的,因为它应该处理一组通用的项目。