是否有更好的方法根据特定属性的一组可能值来过滤对象数组?
这可行,但似乎有些笨拙。
const all = [
{id: 1}, {id: 2}, {id: 3} ...
]
const ids = [2, 3];
const selected = (all, ids) =>
all.filter(obj => ids.map(id => id === obj.id).some(match => match));
selected(all, ids);
// [{id: 2}, {id: 3}]
在Python中将是这样的:
selected = [obj for obj in all if obj.id in ids]
您可以使用Array.filter()
和简单过滤出数组Array.includes()
:
const all = [ {id: 1}, {id: 2}, {id: 3} ];
const ids = [2, 3];
const selected = (all, ids) => all.filter(obj => ids.includes(obj.id));
console.log(selected(all,ids));
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句