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

回到顶部