我需要检查一个JavaScript数组,看看是否有任何重复的值。

时间:2013-11-11 08:06:29

标签: javascript arrays

我有一个数组

var a =["color", "radius", "y", "x", "x", "x"];

如何检查,这个数组没有相同的元素?

3 个答案:

答案 0 :(得分:0)

试试这个,

var a = ["color", "radius", "y", "x", "x", "x"];
var uniqueval = a.filter(function (itm, i, a) {// array of unique elements
    return i == a.indexOf(itm);
});
if (a.length > uniqueval.length) {
    alert("duplicate elements")
}
else{
    alert('Unique elements')
}
使用duplicateunique元素

演示

答案 1 :(得分:0)

如果新数组中包含元素,则表示您有重复数据。然后,您可以从原始Array中删除newArray的元素。

var a = ["color", "radius", "y", "x", "x", "x"];
var sortA = a.sort();
var newArray = [];
for (var i = 0; i < a.length - 1; i++) {
    if (sortA[i + 1] == sortA[i]) {
        newArray.push(sortA[i]);
    }
}

alert(newArray);

答案 2 :(得分:0)

这非常简单:

var i, a = ["color", "radius", "y", "x", "x", "x"];

for (i = 0; i < a.length; ++i) {
    if(a.indexOf(a[i]) != a.lastIndexOf(a[i]))
          alert("Duplicate found!");
}

<强> Fiddle here