我有一个对象数组
animals[
{id:1, name:"cat"},
{id:2, name:"dog"},
{id:3, name:"fish"}
]
我还有另一个
selected = [1,2]
我想要以所选字符串的形式返回:
"cat, dog"
我目前知道如何过滤
const selectedAnimals = selected.filter(function(e) {
return animals.find(o => o.id == e);
})
但这会返回 id 列表。我如何以字符串格式返回名称列表?我需要使用减少还是可以使用过滤器选项来做到这一点?
最佳答案
您必须使用filter()在您的 animals
数组上。可以使用includes()检查数组是否包含给定值。
var selectedAnimals = animals.filter(animal => selected.includes(animal.id));
实例:
var animals = [
{id:1, name:"cat"},
{id:2, name:"dog"},
{id:3, name:"fish"}
];
var selected = [1,2];
var selectedAnimals = animals.filter(animal => selected.includes(animal.id));
console.log(selectedAnimals);
关于javascript - 如何从 Javascript 中的过滤器返回特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57861821/