How to Remove Duplicate Values from a JavaScript Array
Topic: JavaScript / jQueryPrev|Next
Answer: Use the indexOf()
Method
You can use the indexOf()
method in conjugation with the push()
remove the duplicate values from an array or get all unique values from an array in JavaScript.
Let's take a look at the following example to understand how it basically works:
Example
Try this code »<script>
// Defining function to get unique values from an array
function getUnique(array){
var uniqueArray = [];
// Loop through array values
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>
Alternatively, you can use the newly introduced ES6 for-of
loop instead of for
loop to perform this filtration very easily, as demonstrated in the following example:
Example
Try this code »<script>
// Defining function to get unique values from an array
function getUnique(array){
var uniqueArray = [];
// Loop through array values
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>
Check out the tutorial on JavaScript loops to learn more about the ES6 for-of
loop.
Related FAQ
Here are some more FAQ related to this topic: