提问人:Dan 提问时间:12/9/2022 更新时间:12/9/2022 访问量:16
如何比较单个对象中值的相等性与对象数组中的值?
How to compare equality of values in a single object to the values in an array of objects?
问:
我是 Javascript 的新手,我正在做一个项目,但被卡住了。
我有一个基于调查问卷的用户生成的单个对象,我现在想将值数据与数组中多个对象的匹配键中的数据进行比较。
IE 用户对象是
var userObject = {
destination:"Lake",
expertise: "Expert",
hire:"No",
lessons:"Yes",
};
然后将所有值与下面数组中对象中的相应键进行比较,检查是否相等。-
let locationArry = [
{ name :'Joss Bay Surf School',
destination :'sea',
hire: 'yes',
lessons :'yes',
expertise : 'beginner',
website : 'https://www.jossbay.co.uk/'},
{ name :'Canoe Wild',
destination :'lake',
hire: 'yes',
lessons :'yes',
expertise : 'beginner',
website : 'https://www.canoewild.co.uk/courses-lessons'},
{ name :'Paddleboarding London',
destination :'lake',
hire: 'yes',
lessons :'yes',
expertise : 'beginner',
website : 'https://paddleboardinglondon.co.uk/'},
]
最后返回在目的地、租用、课程和专业知识方面相等的对象的名称值。
我尝试了几种方法。
我认为还有很长的路要走的最新消息是
let userResult = locationArry.filter(destName=>{
if (locationArry.destination === resultObject.destination &&
locationArry.hire === resultObject.hire &&
locationArry.lessons === resultObject.lessons &&
locationArry.expertise === resultObject.expertise);
return destName.name;
})
我的直觉是使用 filter() 的某种循环......但我有点不知所措。我还没有找到专门涵盖此内容的类似问题,所以希望有人可以帮助我。
答: 暂无答案
评论