日期:2014-05-16  浏览次数:20452 次

用Javascript从一个array中删除重复的元素

下面的例子展示了你如何使用在javascript中使用forEach()和indexOf()的Array的方法从一个Array中删除重复的元素。

?

<!DOCTYPE html>
<html>
<head>
    <title>Removing duplicate elements from an array using JavaScript</title>
</head>
<body>
 
    <div id="debug"></div>
    <script type="text/javascript">
        var arr = ["two", "one", "three", "four", "three", "four", "five", "Three"];
        var uniques = [];
 
        arr.forEach(function(value) {
            if (uniques.indexOf(value) == -1) {
                uniques.push(value);
            }
        });
 
        var str = "unique values: <code>" + uniques.join(", ") + "</code>";
        document.getElementById("debug").innerHTML = str;
    </script>
 
</body>
</html>

?

你也可以把forEach()方法放到一个函数内部。

?

<div id="debug"></div>
<script type="text/javascript">
    var arr = ["two", "one", "three", "four", "three", "four", "five", "Three"];
    var uniques = removeDupes(arr);
 
    var str = "unique values: <code>" + uniques.join(", ") + "</code>";
    document.getElementById("debug").innerHTML = str;
 
    function removeDupes(arr) {
        var nonDupes = [];
        arr.forEach(function(value) {
            if (nonDupes.indexOf(value) == -1) {
                nonDupes.push(value);
            }
        });
        return nonDupes;
    }
</script>
?