Javascript .includes 函数无法与对象数组一起正常工作[重复]

2024-05-05

我有一个正在使用的对象数组.includes()功能。我正在使用数组中的对象搜索该数组(对象是相同的)。但似乎没有匹配项。我已将问题复制到这把小提琴 https://jsfiddle.net/6dua0u0n/。代码也在下面。那么检查数组是否包含 am 对象的正确方法是什么?

let list1 = [{
    name: "object1"
  },
  {
    name: "object2"
  },
  {
    name: "object3"
  },
  {
    name: "object4"
  }
]


if (list1.includes({
    name: "object1"
  })) {
  document.write('contains')
} else {
  document.write('doesnt')
}

您不能直接比较对象,而是使用这个方法 https://stackoverflow.com/a/1144249/2894798,您可以将它们与 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')
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Javascript .includes 函数无法与对象数组一起正常工作[重复] 的相关文章