让我们看一个 JS 对象示例(又名“关联数组”):
var zoo = {
monkey: { legs: 4, color: "black" },
fish: { legs: 0, color: "yellow" },
turtle: { legs: 4, color: "green" },
emu: { legs: 2, color: "gray" },
};
现在我想检索水生动物的嵌套对象(也称为“子数组”)。是否有标准的 JS/jQuery 构造或函数来按数组过滤对象属性(“按数组索引数组”),即类似:
var aquatic = zoo["fish", "turtle"];
结果显然应该是{ { Legs: 0, color: "yellow"}, { Legs: 4, color: "green"} }
。
或者 for
循环是这里最简单的解决方案吗?
最佳答案
您可以使用map()
并返回对象数组。
var zoo = {
monkey: { legs: 4, color: "black" },
fish: { legs: 0, color: "yellow" },
turtle: { legs: 4, color: "green" },
emu: { legs: 2, color: "gray" },
};
var aquatic = ["fish", "turtle"];
var result = aquatic.map(e => zoo[e]);
console.log(result)
关于javascript - JS/jQuery : Filter object properties by array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43341564/