是否有jQuery的内置函数,它相当于http://underscorejs.org/#groupBy ?
任何变通办法?
谢谢
是否有jQuery的内置函数,它相当于http://underscorejs.org/#groupBy ?
任何变通办法?
谢谢
号的jQuery不是为数据处理制成,但对于DOM,Ajax和动画-那些效用函数为each
, map
或grep
所需要的内部吸。
使用下划线,没有错吧! 如果你不希望加载整个脚本,你可以很容易地复制groupby
从源功能 ,无论你需要它。 不要忘了其产地添加评论。
这里是一个jQuery适应斜视的本地JavaScript的答案 :
$.fn.groupBy = function(predicate) {
var $array = $(this),
grouped = {};
$.each($array, function (idx, obj) {
var $obj = $(obj);
groupKey = predicate($obj);
if (typeof(grouped[groupKey]) === "undefined") {
grouped[groupKey] = $();
}
grouped[groupKey] = grouped[groupKey].add($obj);
});
return grouped;
}
和使用,在这种情况下, 组元素( $yourElements
)由HTML name
属性 :
var groupedByName = $yourElements.groupBy(function (obj) {
return $(obj).attr('name');
});