Javascript-获取两个数组之间的对应对象

Javascript-获取两个数组之间的对应对象,javascript,Javascript,我有以下阵列: 第一个阵列: const dummyJSON = [ { id: 1, sponsor_date: '2020-08-16T22:45:03.154Z' }, { id: 2, sponsor_date: '2020-09-16T22:45:03.154Z' }, { id: 3, sponsor_date: '2020-09-01T22:45:03.154Z'

我有以下阵列:

第一个阵列:

const dummyJSON = [
    {
      id: 1,
      sponsor_date: '2020-08-16T22:45:03.154Z'
    },
    {
      id: 2,
      sponsor_date: '2020-09-16T22:45:03.154Z'
    },
    {
      id: 3,
      sponsor_date: '2020-09-01T22:45:03.154Z'
    }
  ]
第二个阵列:

const validated = [ true, false, false ]
我想在对应的(已验证的)数组项为true时获取对象(dummyJSON.id)

基本上,如果validate[0]数组中的第一个项的值为“true”,那么我希望在dummyJSON数组中有相应的[0]项的id值。

您可以使用
array#reduce
来获取已验证id的数组

它基本上会在每个元素上循环,如果当前迭代对象的索引对应于具有相同索引的
validated
中的truthy值,则对象的
id
将被推送到结果中

const dummyJSON=[
{id:1,赞助商日期:'2020-08-16T22:45:03.154Z'},
{id:2,赞助商日期:'2020-09-16T22:45:03.154Z'},
{id:3,赞助商日期:'2020-09-01T22:45:03.154Z'}
];
const validated=[真、假、假];
const validateds=dummyJSON
.reduce((s,{id},i)=>(已验证的[i]?s.push(id):s,s),[]);

console.log(validatedds)如果您的目标只是获取已验证的项目,请使用:

const valid=dummyJSON.filter((项,索引)=>validated[index]);
如果您只需要ID,请添加呼叫:

const valid=dummyJSON.filter((项,索引)=>validated[index]);
const id=valid.map(x=>x.id);
如果愿意,可以通过链接map调用在一行中完成:

const-id=dummyJSON.filter((项,索引)=>validated[index]).map(x=>x.id);
const dummyJSON=[
{id:1,赞助商日期:'2020-08-16T22:45:03.154Z'},
{id:2,赞助商日期:'2020-09-16T22:45:03.154Z'},
{id:3,赞助商日期:'2020-09-01T22:45:03.154Z'}
];
const validated=[真、假、假];
//源对象
log(dummyJSON.filter((_,index)=>validated[index]);
//只有身份证

log(dummyJSON.filter((\ux,index)=>validated[index]).map(x=>x.id))无需使用reduce,filter可以同样快速地执行此操作:

const validated = [ true, false, false ]
const dummyJSON = [
    {
      id: 1,
      sponsor_date: '2020-08-16T22:45:03.154Z'
    },
    {
      id: 2,
      sponsor_date: '2020-09-16T22:45:03.154Z'
    },
    {
      id: 3,
      sponsor_date: '2020-09-01T22:45:03.154Z'
    }
  ]
// To get all validated objects from dummy JSON
const validatedJSON = dummyJSON.filter((obj, index) => validated[index])
// To extract just the ID's
const validatedJSONIds = validatedJSON.map(json => json.id)

您是否正在查找具有
true
验证值的所有对象?所需的输出是什么(一个ID数组?一个ID?)@CollinD Yes!我想要的输出是有一个ID数组。@Taplar。我只是喜欢啊哈。srryGreat解决方案,可能值得添加一点说明,
reduce
函数如果您以前从未使用过它,可能会有点混乱,尤其是与arg解构、一个字母变量名和三元lol@CollinD谢谢,更新了一些细节。我相信询问者只希望返回ID,不完整的物体。注意。已更新以添加映射调用以获取ID。