如何在对象中使用 .includes() 或类似内容?

Tia*_*ivo 0 javascript arrays methods object

我正在尝试检查第一个 arg 是否包含以下对象数组中的第二个:

whatIsInAName(
[
 { first: "Romeo", last: "Montague" },
 { first: "Mercutio", last: null }, 
 { first: "Tybalt", last: "Capulet" }
], 
{ last: "Capulet" });
Run Code Online (Sandbox Code Playgroud)

我不能includes()在我的逻辑上使用,因为它是一个数组方法。我试图从 中检索对象whatIsInAName并将它们传递到数组中,Object.entries()但这也不起作用。我的两个选择是将对象“转换”为数组。或者找到该includes()方法的不同替代方法,我可以在对象中使用它。

有什么想法吗?

谢谢

Ste*_*pUp 6

使用some方法检查Capulet数组中是否存在:

let obj = { last: "Capulet" };
const isExist = whatIsInAName.some(f => f.last == obj.last)
Run Code Online (Sandbox Code Playgroud)

let obj = { last: "Capulet" };
const isExist = whatIsInAName.some(f => f.last == obj.last)
Run Code Online (Sandbox Code Playgroud)

或者您可以使用filter根据条件获取所有对象:

const whatIsInAName = [
  { first: "Romeo", last: "Montague" },
  { first: "Mercutio", last: null },
  { first: "Tybalt", last: "Capulet" }
 ];

let obj = { last: "Capulet" };
const isExist = whatIsInAName.some(f => f.last == obj.last)
console.log(`Exists: ${isExist}`)
Run Code Online (Sandbox Code Playgroud)