通过提供的对象在Javascript数组中查找对象的索引

通过提供的对象在Javascript数组中查找对象的索引,javascript,Javascript,我想了解此功能,但在web上找不到任何解决方案 下面是一个虚拟数组,其中包含大量这样的数据 var a = [ { "category": "1", "title": "Apple", "price": 1049 }, { "category": "2", "title": "Mango",

我想了解此功能,但在web上找不到任何解决方案

下面是一个虚拟数组,其中包含大量这样的数据

var a = [
 {
  "category": "1",
  "title": "Apple",
  "price": 1049
 },
 {
  "category": "2",
  "title": "Mango",
  "price": 2000
 },
 ....So on
]
我想通过实际的对象数据找到这个var'a'数组中对象的索引。 例如,我有一个对象

var b =   {
  "category": "2",
  "title": "Mango",
  "price": 2000,
},

怎么找到这个?a、 findIndexb不起作用。

可以在串接后比较对象

变量a=[ { 类别:1,, 标题:苹果, 价格:1049 }, { 类别:2, 标题:芒果, 价格:2000 }, ]; 变量b={ 类别:2, 标题:芒果, 价格:2000, },bStr=JSON.stringifyb; 让idx=a.findIndexobj=>JSON.stringifyobj==bStr;
console.logidx 您可以比较每个属性,而无需字符串化

变量a=[ { 类别:1,, 标题:苹果, 价格:1049 }, { 类别:2, 标题:芒果, 价格:2000 }, ] 变量b={ 类别:2, 标题:芒果, 价格:2000, }; const index=a.findIndexo=>Object.keyso.everykey=>o[key]==b[key];
console.logindex;//1JSON.stringify可能是,它将无法找到具有不同属性顺序的对象。谢谢,我更新了答案。我只使用了。一些是因为我忘记了。每种方法都更好,因为它不会颠倒逻辑。