There are several ways to get all unique values in a JavaScript array. One common method is to use the Set object, which automatically removes duplicate values.

Example:

let arr = [1, 2, 3, 4, 4, 3, 2, 1];
let uniqueArr = [...new Set(arr)];
console.log(uniqueArr); // [1, 2, 3, 4]

Another way to achieve this is using the Array.filter() method with a callback function that checks the index of the current element in the array.

let arr = [1, 2, 3, 4, 4, 3, 2, 1];
let uniqueArr = arr.filter((item, index) => arr.indexOf(item) === index);
console.log(uniqueArr); // [1, 2, 3, 4]

You can also use the reduce() method to create an object with the unique values as keys and a value of true for each key. Then you can use Object.keys() to convert the object keys back to an array.

let arr = [1, 2, 3, 4, 4, 3, 2, 1];
let uniqueArr = [...new Set(arr.reduce((a, b) => {
        a[b] = true;
        return a;
    }, {}))];
console.log(uniqueArr); // [1, 2, 3, 4]

Finally, you could also use a for loop to iterate through the array, and use Array.indexOf() and Array.splice() to remove duplicate values.

let arr = [1, 2, 3, 4, 4, 3, 2, 1];
for(let i = 0; i < arr.length; i++){
    if(arr.indexOf(arr[i]) !== i) arr.splice(i--, 1);
}
console.log(arr); // [1, 2, 3, 4]

All these methods will return an array containing all the unique values of the input array and the order of the elements may not be preserved.

Also Read:

Categorized in: