Javascript jQuery是否有collect方法

Javascript jQuery是否有collect方法,javascript,jquery,Javascript,Jquery,我有这个密码 var selected = new Array(); $(".client_associates_users input:checked").each(function(index) { selected.push($(this).val()); }); 它工作得很好,但我想知道jQuery是否有一个collect,这样我就不必创建一个数组并推送它了 我基本上需要选中输入字段的所有值是,$.fn.map或$.map 或

我有这个密码

  var selected = new Array();
        $(".client_associates_users input:checked").each(function(index) {
            selected.push($(this).val());
        });
它工作得很好,但我想知道jQuery是否有一个collect,这样我就不必创建一个数组并推送它了


我基本上需要选中输入字段的所有值

是,
$.fn.map
$.map

或者这张是给
$.map
(我更喜欢这张)

更新

不再在每次迭代中重新创建jQuery对象。

jQuery提供了
.map()
方法

var selected = $(".client_associates_users input:checked").map(function(index) {
    return this.value;
}).get();
此方法将从回调中
返回的任何数据中创建一个新数组。请注意,您需要在最后调用
.get()
,以获得真正的数组


参考:

jQuery对象
$(“.client\u associates\u users input:checked”)
是一个数组,因此如果在选择器的末尾附加
.val()
,您应该能够访问这些值。

。。。因此,您可能希望使用它,而不是jQuery中的
each
=)@jasonmerino--
.val()
和其他getter方法总是从第一个选定的元素而不是所有选定的元素返回值。对,我应该指定使用
.eq(I).val()
或类似性质的东西……只要您不在每次迭代中重新创建jQuery对象,我会给它一个+1。@jAndy--删除了我的旧注释,因为它的拼写错误。它基本上是将
.value
.val()
进行比较,这与您所说的内容并不相关。正如您所说,没有理由在每次迭代中重新创建jQuery对象。谢谢
var $checkboxes = $(".client_associates_users input:checked"),
    selected = $.map($checkboxes, function(el,i){
        return $checkboxes.eq(i).val();
    });
var selected = $(".client_associates_users input:checked").map(function(index) {
    return this.value;
}).get();