为了账号安全,请及时绑定邮箱和手机立即绑定

根据 object.differentValue === 静态值仅将 object.value

根据 object.differentValue === 静态值仅将 object.value

ibeautiful 2022-10-13 19:27:03
试图找出最好的方法来做到这一点,而不会碰到坏的 bigO。基本上我有一个值标识符name,我只想object.id根据 if获取对象中的唯一值object.name === name,因此Set()将包含仅与找到名称的条件相关的 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] 实例化 uniqueIds 的最佳方法是什么?我真的必须使用 afilter()进入一个新数组,然后使用map()to 然后使用uniqueIds.add(id)吗?或者有没有更好的方法使用类似的快捷方式来做到这一点insert ids into uniqueIds where objects.name === name?
查看完整描述

1 回答

?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

您可以使用reduceandSet获取唯一 ID


const name = "billy";

const objects = [

    {id: 1, name: "billy"},

    {id: 2, name: "billy"},

    {id: 2, name: "billy"},

    {id: 3, name: "jack"},

    {id: 4, name: "kevin"},

]


const uniqueIds = objects.reduce((result, obj)=>{

  if(obj.name === name) result.add(obj.id)

  return result

}, new Set())


console.log(Array.from(new Set(uniqueIds)))


查看完整回答
反对 回复 2022-10-13
  • 1 回答
  • 0 关注
  • 60 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信