我需要选择多个具有相同值的数组元素。 使用array.find()仅返回满足查询条件的第一个元素。 下面的结构在控制台中仅显示“Donald Trump”:
const data = [
{
"position": "president",
"name": "Donald Trump",
"language": "english"
},
{
"position": "president",
"name": "Vladimir Putin",
"language": "russian"
},
{
"position": "king",
"name": "Shutruk-Nahhunte",
"language": "elamite"
},
];
let result = data.find(elem => elem.position == "president");
console.log(result.name);
但是我需要将所有值作为数组获取, - 像这样:
[
"Donald Trump",
"Vladimir Putin"
]
如何正确地做到这一点,同时考虑到实际数组是巨大的。 感谢您的帮助!
最佳答案
我使用过滤器来完成此任务
const data = [
{
"position": "president",
"name": "Donald Trump",
"language": "english"
},
{
"position": "president",
"name": "Vladimir Putin",
"language": "russian"
},
{
"position": "king",
"name": "Shutruk-Nahhunte",
"language": "elamite"
},
];
const newArray= data.filter(x=>x.position==='president')
let nameArray=newArray.map(x=>x.name)
console.log(nameArray)
关于javascript - 如何按值查找多个数组元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60412083/