我有一组对象,我只想过滤独特的样式并且不重复。
const arrayOfObj = [ {name:'a' , style:'p'} , {name:'b' , style:'q'} , {name:'c' , style:'q'}]
result expected : [ {name:'a' , style:'p'}]
最佳答案
这是 O(n) 时间复杂度的解决方案。您可以迭代所有条目以跟踪条目出现的频率。然后使用 filter()
过滤只出现一次的函数。
const arrayOfObj = [
{ name: "a", style: "p" },
{ name: "b", style: "q" },
{ name: "c", style: "q" },
]
const styleCount = {}
arrayOfObj.forEach((obj) => {
styleCount[obj.style] = (styleCount[obj.style] || 0) + 1
})
const res = arrayOfObj.filter((obj) => styleCount[obj.style] === 1)
console.log(res)
关于javascript - 仅从对象 javascript 数组中过滤唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63408007/