Vue Js Remove Duplicate Object from Array:To remove duplicate objects from an array in Vue.js, you can use a combination of JavaScript’s filter
method and the Set
data structure. First, create a new set by passing the array to the Set
constructor. This will automatically remove duplicates. Then, convert the set back to an array using the spread operator ...
and the filter
method to remove any empty slots. Finally, assign the filtered array back to the original array variable. This process can be summarized in approximately 100 words: “To remove duplicate objects from an array in Vue.js, create a set from the array to eliminate duplicates, convert the set back to an array while filtering out empty slots, and assign the filtered array to the original variable
How can I remove duplicate objects from an array in Vue js?
The removeDuplicates()
function in Vue.js removes duplicate objects from an array. It achieves this by performing the following steps:
- It uses the
map()
method to extract all the uniqueid
values from theitems
array. - The
new Set()
constructor is used to create a Set, which automatically eliminates duplicate values. - The
Array.from()
method converts the Set back into an array. - The
map()
method is then used again to retrieve the objects from theitems
array that have the uniqueid
values. - Finally, the
items
array is updated with theuniqueItems
array, effectively removing any duplicate objects
Vue Js Remove Duplicate Object from Array Example
<div id="app">
<ul>
<li v-for="item in items" :key="item.id">{{item.id}} {{ item.name }} {{item.role}}</li>
</ul>
<button @click="removeDuplicates">Remove Duplicates</button>
</div>
<script type="module">
const app = new Vue({
el: "#app",
data() {
return {
items: [
{ id: 1, name: 'John', role: 'Developer' },
{ id: 2, name: 'Jane', role: 'Marketing' },
{ id: 1, name: 'John', role: 'Developer' }, // Duplicate
{ id: 3, name: 'Bob', role: 'SEO' },
],
};
},
methods: {
removeDuplicates() {
const uniqueItems = Array.from(new Set(this.items.map(item => item.id)))
.map(id => this.items.find(item => item.id === id));
this.items = uniqueItems;
},
},
});
</script>