如何从 JavaScript 数组中删除重复值
答案:使用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 相关问题解答
以下是与此主题相关的更多常见问题解答: