当前位置: 首页 > 面试题库 >

jQuery函数从数组中获取所有唯一元素?

慕才
2023-03-14
问题内容

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简单列表中。 效果很好,但是如果“篮球”类别中有3个项目,该类别将出现3次。 我怎样才能使它们只出现一次?谢谢。 这是代码: 这是我的数组的代码: 问题答案: 我不知道您的数组是如何构建的(因此我的示例可能需要根据您的需要进行一些修改),但是您可以编写一些代码,首先将您的独特类别收集到一个新数组中: jsFiddle演示 将包含您

  • 我想获得表中所有的所有内部文本的数组。 以下工作 只是想知道在直接jQuery中是否有更好的方法(wo必须转换为数组,然后使用JS方法)

  • 我有一张银行账户表: 它在列中有一些JSON: 我使用jsonb\u array\u元素来获取一个用户的帐户列表: 太好了。但我如何让每一行都有一个唯一的id呢?我想将每一行映射到一个hibernate对象,但我很难做到这一点,因为我找不到让每一行都具有唯一id的方法。

  • 问题内容: 我和这里的问题差不多。 我有一个包含等的数组。现在,我想从该数组中选择所有唯一元素。思想,这将是简单的用或因为他们在其他问题中提到,但没有在数组中改变…的代码是: 我究竟做错了什么? 问题答案: 有点hacky,但是应该这样做: 要将排序后的唯一结果保存回数组,请执行数组分配: 如果您的外壳支持herestrings(应该),则可以通过将其更改为以下内容来节省进程: 输入: 输出: 说

  • 问题内容: 我需要确定一个唯一的数字数组。我在互联网上找到了下面的代码片段,并且在数组中包含零之前,它都可以正常工作。我在Stack Overflow的这里找到了另一个脚本,看起来几乎完全一样,但是它不会失败。 因此,为了帮助我学习,有人可以帮助我确定原型脚本出了什么问题吗? 问题答案: 使用 JavaScript 1.6 / ECMAScript 5, 您可以通过以下方式使用Array 的本机方