覆盖数组中的重复值 - Javascript

时间:2014-08-09 08:56:24

标签: javascript jquery arrays duplicate-removal

我已经阅读了一些关于我的问题的部分解决方案,但不幸的是我已经提出质疑了。所以这是我的问题。我有一个数组var = results[1,2,2,3,1,3]。我必须打印/回显所有值,最终值应显示1,2,3的值。我已经阅读过关于查找具有重复值的值,但这可能不适用于我的,因为它只返回重复值。我已经阅读了关于过滤唯一值的内容,但当然它只会向我展示一个独特的价值,并且不会向我展示其他价值。其中一条评论暗示了这一点,绝对可能是一个确切的解决方案:

  

_.uniq([1,2,1,3,1,4]);

     

=> [1,2,3,4]

链接为HERE...

但我不知道如何正确使用它。它适用于我的问题吗?

无论如何,这里是fiddle

3 个答案:

答案 0 :(得分:1)

试试这个

    var getfruits = [1, 2, 2, 3, 1, 3];
    var newfruits = [];
    $.each(getfruits, function (i, el) {
        if ($.inArray(el, newfruits) === -1) newfruits.push(el);
    });
    console.log(newfruits)
    alert(newfruits[0]);
    alert(newfruits[1]);
    alert(newfruits[2]);

DEMO

答案 1 :(得分:1)

这是使用js

的非常简单的实现
var getfruits = [1, 2, 2, 3, 1, 3];
var uniq = [];
for (var i = 0; i < getfruits.length; i++) {
    if(uniq.indexOf(getfruits[i])==-1)
        uniq.push(getfruits[i]);
};

console.log(uniq);

你必须在你的小提琴中添加lo-dash

FIXED FIDDLE WITH LO-DASH

答案 2 :(得分:1)

试试这个

var arr = [1, 2, 2, 3, 1, 3];
var newarr = [];
$.each(arr, function (index, element) {
    if ($.inArray(element, newarr) < 0) newarr.push(element);
});

alert(newarr[0]);
alert(newarr[1]);
alert(newarr[2]);

Demo