我想知道jQuery或jQuery插件是否具有执行以下功能的功能:
function $array(a /* an ARRAY */, f /* a function */) {
var $res = $();
for (var i = 0; i < a.length; ++i)
/* Notice: The result of evaluating f(a[i])
* shall always be a jQuery selector
*/
$res.add(f(a[i]));
return $res;
}
我发现这个功能非常有用,但如果它已经存在,我不想重新实现它。
编辑1:
我承认这个问题并不是特别清楚。我希望能够做到这样的事情:
$('<select>')
.append($array([
{ value: 0, name: 'Item 0' },
{ value: 1, name: 'Item 1' },
{ value: 2, name: 'Item 2' }
], function(option) {
return $('<option>')
.val(option.value)
.html(option.name);
}))
.appendTo('body');
答案 0 :(得分:3)
我认为这是map。
实际上,如果函数的输入不是jQuery对象,那就不太对了。还有jQuery.map,您可以使用它来创建一个jQuery对象数组,但不返回jQuery对象本身。所以我认为你到底都没有。