我有以下代码:
var selectedTitles = $("#js-otms-titles-table .select_title :checkbox:checked").map(function() {
return $(this).attr('data-titleId');
});
console.log("Selected titles");
console.log(selectedTitles);
我希望结果是一个数组。但是我收到的对象如下:
Object["55a930cd27daeaa6108b4f68", "55a930cd27daeaa6108b4f67"]
是否有传递给函数的特殊标志?在docs中,他们将数组作为返回值。我错过了什么吗?
jQuery 1.11.2
答案 0 :(得分:12)
$data
总是返回jQuery对象。
要从jQuery对象获取数组,请使用getData()
$(selector).map()
答案 1 :(得分:2)
您需要在最终结果上调用.get()
。 jQuery的.map()
函数返回一个jQuery对象(有时可以很方便)。 .get()
将获取它构建的基础数组。
答案 2 :(得分:1)
var a = array(1, 2, 3);
var f = function () { return do_something_with_each(this); };
$.map(a, f)
- 数组输出 - 数组输出
$(selector).map(f)
- jQuery对象in -jQuery object out
$(selector).map(f).get()
- jQuery对象in-array out(自jQuery 1.0起)
$(selector).map(f).toArray()
- jQuery对象in-array out(自jQuery 1.4起)