I want to calculate number of unique value and put that in new array. I have below array:
[
{ CategoryId: "b5c3f43f941c", CategoryName: "Category 1", CategoryColor: "cgreen" }
{ CategoryId: "9872cce5af92", CategoryName: "Category 2", CategoryColor: "purple" }
{ CategoryId: "b5c3f43f941c", CategoryName: "Category 1", CategoryColor: "cgreen" }
]
I want new array with below result:
[
{ CategoryId: "b5c3f43f941c", count: 2, CategoryColor: "cgreen" }
{ CategoryId: "9872cce5af92", count: 1, CategoryColor: "purple" }
]
In this check by id, if id is same show count and new in new array.
Hope you understand what I want.
Thanks,
You can loop through array using "for..of" and create a temporary object to save data in every loop. If same id exists in tempObject then increment count by 1
You can sort the array first then count the duplicates. The downside is it will modify the original
yourArray
due to being sorted, so use with caution.Use
reduce
function and inside the callback check an object exist whoseCategoryId
matches. If matches then update the count or else create a new object with the values and push in the array