Javascript 如何按id从数组中选择对象?

Javascript 如何按id从数组中选择对象?,javascript,lodash,Javascript,Lodash,我有一个对象,其中包含一个名为appenders的数组: const persons={"entities":{"applicants":[{"lastName":"Agamemnon","isPrimaryApplicant":false,"id":"16671520038"},{"lastName":"Purdy","isPrimaryApplicant":true,"id":"16671520039"},{"lastName":"Brekky","isPrimaryApplicant":t

我有一个对象,其中包含一个名为appenders的数组:

const persons={"entities":{"applicants":[{"lastName":"Agamemnon","isPrimaryApplicant":false,"id":"16671520038"},{"lastName":"Purdy","isPrimaryApplicant":true,"id":"16671520039"},{"lastName":"Brekky","isPrimaryApplicant":true,"id":"16671520040"},{"lastName":"Abouli","isPrimaryApplicant":true,"id":"16671520041"}]}}
如何按id从entities.Appenders数组返回项目

我试过这样的方法:

const applicantsById = persons.entities.applicants.find(a => a.id ===id)

console.log(applicantsById.get('16671520041'))
但我不知道怎么传身份证


应用程序BYID需要是id上参数化的函数

const persons={“实体”:{“申请人”:[{“lastName”:“Agamenon”,“isprimary申请人”:false,“id”:“16671520038”},{“lastName”:“Purdy”,“isprimary申请人”:true,“id”:“16671520039”},{“lastName”:“16671520040”},{“lastName”:“Abouli”,“isprimary申请人”:true,“id”:“16671520041”}
const applicationsbyid=id=>persons.entities.applications.find(a=>a.id==id)

console.log(applicationsbyid('16671520041'))
applicationsbyid
需要是id上参数化的函数

const persons={“实体”:{“申请人”:[{“lastName”:“Agamenon”,“isprimary申请人”:false,“id”:“16671520038”},{“lastName”:“Purdy”,“isprimary申请人”:true,“id”:“16671520039”},{“lastName”:“16671520040”},{“lastName”:“Abouli”,“isprimary申请人”:true,“id”:“16671520041”}
const applicationsbyid=id=>persons.entities.applications.find(a=>a.id==id)
log(applicationsbyid('16671520041'))
为此使用过滤器

const persons={“实体”:{“申请人”:[{“lastName”:“Agamenon”,“isprimary申请人”:false,“id”:“16671520038”},{“lastName”:“Purdy”,“isprimary申请人”:true,“id”:“16671520039”},{“lastName”:“16671520040”},{“lastName”:“Abouli”,“isprimary申请人”:true,“id”:“16671520041”}
log(get(16671520039));
函数get(id)
{
返回persons.entities.applicators.filter((e)=>e.id==id)
}
为此使用过滤器

const persons={“实体”:{“申请人”:[{“lastName”:“Agamenon”,“isprimary申请人”:false,“id”:“16671520038”},{“lastName”:“Purdy”,“isprimary申请人”:true,“id”:“16671520039”},{“lastName”:“16671520040”},{“lastName”:“Abouli”,“isprimary申请人”:true,“id”:“16671520041”}
log(get(16671520039));
函数get(id)
{
返回persons.entities.applicators.filter((e)=>e.id==id)

}
使用普通javascript

在设置
applicationsbyid
变量之前,需要定义
id
是什么。这样,您可以在对象数组中找到一个与您定义的
id
相等的
id

const id = '16671520041';
const applicantsById = persons.entities.applicants.find(a => a.id === id);
如果希望将其与多个ID一起使用,可以将其扩展到函数:

const persons={“实体”:{“申请人”:[{“lastName”:“Agamenon”,“isprimary申请人”:false,“id”:“16671520038”},{“lastName”:“Purdy”,“isprimary申请人”:true,“id”:“16671520039”},{“lastName”:“16671520040”},{“lastName”:“Abouli”,“isprimary申请人”:true,“id”:“16671520041”};
const getapplicationbyid=\u id=>persons.entities.applications.find({id}=>id==\u id);
console.log(getapplicationbyid('16671520041');//Abouli obj

console.log(getapplicationbyid('16671520039');//Purdy obj
使用普通javascript

在设置
applicationsbyid
变量之前,需要定义
id
是什么。这样,您可以在对象数组中找到一个与您定义的
id
相等的
id

const id = '16671520041';
const applicantsById = persons.entities.applicants.find(a => a.id === id);
如果希望将其与多个ID一起使用,可以将其扩展到函数:

const persons={“实体”:{“申请人”:[{“lastName”:“Agamenon”,“isprimary申请人”:false,“id”:“16671520038”},{“lastName”:“Purdy”,“isprimary申请人”:true,“id”:“16671520039”},{“lastName”:“16671520040”},{“lastName”:“Abouli”,“isprimary申请人”:true,“id”:“16671520041”};
const getapplicationbyid=\u id=>persons.entities.applications.find({id}=>id==\u id);
console.log(getapplicationbyid('16671520041');//Abouli obj

console.log(getapplicationbyid('16671520039');//Purdy obj
您可以在执行
查找之前定义您的id

const id = '16671520041';
const applicantsById = persons.entities.applicants.find(a => a.id ===id)
或者您可以定义一个接受id作为参数的函数。其他答案涵盖了如何使用现代ES6箭头功能实现这一点。如果您不熟悉它们,下面是ES5函数声明的编写方法。这里我还将persons数据传递给函数

const applicantsById = (id) => persons.entities.applicants.find(a => a.id === id)
applicantsById('16671520041')
const persons={“实体”:{“申请人”:[{“lastName”:“Agamenon”,“isprimary申请人”:false,“id”:“16671520038”},{“lastName”:“Purdy”,“isprimary申请人”:true,“id”:“16671520039”},{“lastName”:“16671520040”},{“lastName”:“Abouli”,“isprimary申请人”:true,“id”:“16671520041”}
//接受人员数据和id
函数GetApplicationById(个人,id){
//从函数返回找到的申请者
返回persons.entities.applicators.find(a=>a.id==id);
}
//将数据和id传递给函数
const applicator=getapplicationbyid(人员“16671520041”);

控制台日志(申请人)您可以在执行
查找之前定义您的id

const id = '16671520041';
const applicantsById = persons.entities.applicants.find(a => a.id ===id)
或者您可以定义一个接受id作为参数的函数。其他答案涵盖了如何使用现代ES6箭头功能实现这一点。如果您不熟悉它们,下面是ES5函数声明的编写方法。这里我还将persons数据传递给函数

const applicantsById = (id) => persons.entities.applicants.find(a => a.id === id)
applicantsById('16671520041')
const persons={“实体”:{“申请人”:[{“lastName”:“Agamenon”,“isprimary申请人”:false,“id”:“16671520038”},{“lastName”:“Purdy”,“isprimary申请人”:true,“id”:“16671520039”},{“lastName”:“16671520040”},{“lastName”:“Abouli”,“isprimary申请人”:true,“id”:“16671520041”}
//接受人员数据和id
函数GetApplicationById(个人,id){
//从函数返回找到的申请者
返回persons.entities.applicators.find(a=>a.id==id);
}
//传入数据,然后