Javascript 基于object.differentValue==静态值,仅将object.value存储到set()中
试图找出最好的方法来做到这一点,而不击中一个坏的bigO。基本上,我有一个值标识符Javascript 基于object.differentValue==静态值,仅将object.value存储到set()中,javascript,Javascript,试图找出最好的方法来做到这一点,而不击中一个坏的bigO。基本上,我有一个值标识符name,我只想根据object.name===name获取对象object.id中的唯一值,因此Set()将只包含与找到name的条件相关的id 例如 const uniqueIds = new Set(); const name = "billy"; const objects = [ {id: 1, name: "billy"}, {id: 2, nam
name
,我只想根据object.name===name
获取对象object.id
中的唯一值,因此Set()
将只包含与找到name的条件相关的id
例如
const uniqueIds = new Set();
const name = "billy";
const objects = [
{id: 1, name: "billy"},
{id: 2, name: "billy"},
{id: 3, name: "jack"},
{id: 4, name: "kevin"},
]
用[1,2]实例化uniqueid的最佳方法是什么
我真的必须使用filter()
进入新数组,然后使用map()
使用uniqueid.add(id)
或者有没有更好的方法,可以使用类似于
将ID插入objects.name==name
的uniqueID中这样的快捷方式?您可以使用reduce
和Set
来获取唯一ID
const name=“比利”;
常量对象=[
{id:1,名字:“比利”},
{id:2,名字:“比利”},
{id:2,名字:“比利”},
{id:3,名字:“杰克”},
{id:4,名字:“凯文”},
]
const uniqueIds=objects.reduce((结果,obj)=>{
if(obj.name==name)result.add(obj.id)
返回结果
},新集合())
console.log(Array.from(newset(uniqueid)))
很高兴它帮助了@FiddleFreak:)