如何比较单个对象中值的相等性与对象数组中的值?

How to compare equality of values in a single object to the values in an array of objects?

提问人:Dan 提问时间:12/9/2022 更新时间:12/9/2022 访问量:16

问:

我是 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() 的某种循环......但我有点不知所措。我还没有找到专门涵盖此内容的类似问题,所以希望有人可以帮助我。

数组 循环 比较 javascript-objects 相等性

评论


答: 暂无答案