jQuery函数从数组中获取所有唯一元素?
jQuery.unique允许您获取数组的唯一元素,但是文档说该函数主要供内部使用,并且仅对DOM元素起作用。另一个SO响应说该unique()
函数可以在数字上使用,但是此用例不一定是将来的证明,因为在文档中未明确说明。
鉴于此,是否存在“标准”
jQuery函数,用于仅访问数组中的唯一值(特别是整数之类的基元)?(显然,我们可以使用函数构造一个循环each()
,但是我们是jQuery的新手,并且想知道是否为此使用了专用的jQuery函数。)
回答:
您可以array.filter
用来返回每个不同值的第一项-
var a = [ 1, 5, 1, 6, 4, 5, 2, 5, 4, 3, 1, 2, 6, 6, 3, 3, 2, 4 ];var unique = a.filter(function(itm, i, a) {
return i == a.indexOf(itm);
});
console.log(unique);
如果主要支持IE8或更低版本,请不要使用不受支持的filter
方法。
除此以外,
if (!Array.prototype.filter) { Array.prototype.filter = function(fun, scope) {
var T = this, A = [], i = 0, itm, L = T.length;
if (typeof fun == 'function') {
while(i < L) {
if (i in T) {
itm = T[i];
if (fun.call(scope, itm, i, T)) A[A.length] = itm;
}
++i;
}
}
return A;
}
}
以上是 jQuery函数从数组中获取所有唯一元素? 的全部内容, 来源链接: utcz.com/qa/403499.html