我有一个包含所有项目 id 的数组:
const allIds = ['a1gb', 'f4qa', 'i9w9']
我还有一个对象,其属性以这些 id 作为键:
const byId = {
a1gb: {
whatever1
},
anyOtherIdThatIDontNeed: {
whatever444
},
f4qa: {
whatever2
},
i9w9: {
whatever3
}
}
返回看起来像这样的数组的最常见方法是什么
[ { whatever1 }, { whatever2 }, { whatever3 } ]
并跳过最终数组中我不想要的 Id?
这是带有 ids 的数组日志:
这是一个对象的日志,我需要从中返回一个数组,其中包含该 ids 数组中的键值,跳过我不需要的值:
附注问题是,在映射函数的返回数组中,当遇到“anyOtherIdThatIDontNeed:”时,我会得到未定义的结果。
P.P.S.[答案] - Id 数组的 id 与对象的键不匹配,这就是我未定义的原因。
最佳答案
var result = allids.map(val => ({byId[val]}))
我建议这样做,如果数组也有不需要的 id,请尝试下面的代码。
var result = allids.map(val => ({byId[val]})).filter(val => val?true:false)
关于javascript - 如何循环遍历具有特定条件的对象并返回其值的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59120115/