我有以下数组:
第一个数组:
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 ]
我想在相应的(已验证的)数组项为真时获取对象 (dummyJSON.id)。
基本上,如果 validate [0] 数组中的第一项的值为“true”,那么我想在 dummyJSON 数组中包含相应的 [0] 项的 id 值。
最佳答案
您可以使用 Array#reduce
获取经过验证的 ID 数组。
它基本上会遍历每个元素,如果当前迭代对象的索引对应于 validated
中具有相同索引的真值,则对象的 id
将为推到结果。
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];
const validatedIds = dummyJSON
.reduce((s, { id }, i) => (validated[i] ? s.push(id) : s, s), []);
console.log(validatedIds);
关于Javascript - 获取两个数组之间的对应对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63944505/