WEB 教程
实践 示例
HTML 参考手册
CSS 参考手册
PHP 参考手册

如何从 JavaScript 数组中删除重复值

主题:JavaScript / jQuery上一页|下一页

答案:使用indexOf()方法

您可以将 indexOf() 方法与 push() 结合使用,从数组中删除重复值或从 JavaScript 中的数组中获取所有唯一值。

让我们看一下以下示例,以了解其基本工作原理:

<script>
    // 定义函数从数组中获取唯一值
    function getUnique(array){
        var uniqueArray = [];
        
        // 循环遍历数组值
        for(i=0; i < array.length; i++){
            if(uniqueArray.indexOf(array[i]) === -1) {
                uniqueArray.push(array[i]);
            }
        }
        return uniqueArray;
    }
    
    var names = ["John", "Peter", "Clark", "Harry", "John", "Alice"];
    var uniqueNames = getUnique(names);
    console.log(uniqueNames); // Prints: ["John", "Peter", "Clark", "Harry", "Alice"]
</script>

或者,您可以使用新引入的 ES6 for-of 循环而不是 for 循环来非常轻松地执行此过滤,如下例所示:

<script>
    // 定义函数从数组中获取唯一值
    function getUnique(array){
        var uniqueArray = [];
        
        // 循环遍历数组值
        for(var value of array){
            if(uniqueArray.indexOf(value) === -1){
                uniqueArray.push(value);
            }
        }
        return uniqueArray;
    }
    
    var names = ["John", "Peter", "Clark", "Harry", "John", "Alice"];
    var uniqueNames = getUnique(names);
    console.log(uniqueNames); // Prints: ["John", "Peter", "Clark", "Harry", "Alice"]
</script>

查看关于 JavaScript 循环 的教程,了解更多关于 ES6 for-of 循环的信息。


FAQ 相关问题解答

以下是与此主题相关的更多常见问题解答:

Advertisements