从数组中删除重复值

创建于 2024-12-03 / 25
字体: [默认] [大] [更大]

主题: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 相关问题解答

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



0 人点赞过