如何将.each调用的返回值保存到数组中

时间:2013-09-24 16:47:54

标签: javascript jquery

我有一个我打电话的功能:

CreateNode(e,control);// which will return an ID.  
                      // e i leave alone, but i was thinking that i 
                      // could pass the object into the function this way optionally.


function CreateNode(e, control){
if(!control) control = this;
// for rest of function, calls to the object are $(control) instead of $(this).
//...
}

然后我有一个我想要迭代的选择器:

$(control_group).each(createNode);

有没有办法从中构建IDS列表,例如:

var arr = [];
arr.push($(control_group).each(createNode));

我正在做一个recurive控件生成器,它在控件中创建控件,所以我想将标识符返回到子属性。这就是我要用 arr 做的事情。

我的一个想法是做一些简单的事情:

var arr = [];
$(control_group).each(function(e){
    arr.push(createNode(e,$(this));
});

1 个答案:

答案 0 :(得分:4)

这正是.map()所做的:

var arr = $(control_group).map(createNode).get();

.map()返回一个jQuery对象;如果你想要一个普通的数组,你需要.get()它。