var $inventory=$('#inventory tbody');
var quantities=$inventory.find('td:nth-child(2)') // suppose it contains values of 2,3,4 inside td tags
.map(function(index,qty){
return$(qty).text();
}).get();
现在,我在这里得不到map
。它被用作map(function(**index,qty**)
,但根据link
这应该像
jQuery.map( arrayOrObject, callback**( value, indexOrKey** ) )
但是我的代码中提到的地图仍然运行良好,但与INDEX和VALUE相反。
和var quantities
输出
["2", "3", "4"]
所以,我很困惑?看起来像文档错误!!
[编辑:]
最后使用get(),但即使我不使用它,输出仍然是相同的,即[“2”,“3”,“4”]那么为什么要使用它呢?
说我的修改后的代码现在是
// .....same above code
return$(qty).text();
});
答案 0 :(得分:1)
这是来自您使用的docs .map
返回jquery对象,而回调内部this
指的是当前的DOM元素
.map(callback(index,domElement))
callback(index,domElement)将为其调用的函数对象 当前集合中的每个元素。
其中您提到的链接指的是返回数组的$.map
jQuery.map(array,callback(elementOfArray,indexInArray))
array要翻译的数组。
callback(elementOfArray,indexInArray)处理每个函数的函数 项目反对。函数的第一个参数是数组项, 第二个参数是数组中的索引该函数可以返回任何 值。在函数内,这指的是全局(窗口)对象。
答案 1 :(得分:0)