当前位置: 首页 > 面试题库 >

Javascript的.includes函数无法与对象数组一起正常使用[重复]

轩辕季同
2023-03-14
问题内容

我有一个使用该.includes()函数的对象数组。我正在用数组中的一个对象搜索该数组(对象是相同的)。但是似乎没有匹配项。我已经在这个小提琴中重复了这个问题。代码也在下面。那么检查数组是否包含对象的正确方法是什么?

let list1 = [{

    name: "object1"

  },

  {

    name: "object2"

  },

  {

    name: "object3"

  },

  {

    name: "object4"

  }

]





if (list1.includes({

    name: "object1"

  })) {

  document.write('contains')

} else {

  document.write('doesnt')

}

问题答案:

您不能直接比较对象,但是使用此方法,可以将它们与JSON.stringify比较。

let list1 = [{

    name: "object1"

  },

  {

    name: "object2"

  },

  {

    name: "object3"

  },

  {

    name: "object4"

  }

]



var contains = list1.some(elem =>{

  return JSON.stringify({name: "object1"}) === JSON.stringify(elem);

});

if (contains) {

  document.write('contains')

} else {

  document.write('doesnt')

}


 类似资料:
  • 我的表中的每一行都有一个edit按钮,其中有一个javascript函数来编辑一行中的数据。每当我单击edit按钮时,所有行都会受到影响,所有输入字段都被启用。一开始,所有行中的所有输入字段都被禁用,但当我单击任何编辑按钮时,所有输入字段都会受到影响。 null 下面是我的html代码: 下面是我的javascript函数: 一旦我单击了特定行的edit按钮,输入字段应该只在该行上启用。

  • 我有一个包含对象数组的数组。以下是一个例子: 我想创建另一个数组,其中包含上述数组的所有对象,如下所示: 我写了下面的代码: 但是当我返回一个包含所有信息的数组时。问题是,此数组包含所需数组的12倍,因为customerContacts长度为12

  • 如何在两个属性之后对对象数组进行分组?在以下情况下是否可以使用减少? 例如:按国家和城市将以下数组分组,并对“年龄”属性求和: /*预期结果:*/

  • 我(相对)是java新手,我对数组、类/对象等有一些(次要)了解,但我找不到解决这个错误的方法。 我的全部代码: 我知道ArrayIndexOutOfBoundsException意味着它试图在一个不存在的索引上生成一些东西。但我将书店的规模设置为10,然后只添加了4本书(第一次出现错误)。。。

  • 我正在重建一个网站,其中包含了战斗游戏Tekken7中人物的基本介绍。我已将所有字符及其数据作为对象存储在一个文件中。 然后,我试图导出到另一个文件,该文件包含一个函数,在网页上显示给定的haracter的数据,接受该字符的名称作为其唯一参数。但是,当我在浏览器上检查控制台时,我会得到一个SynTaxError,上面写着“无法在模块之外使用导入语句”。这里有什么问题?