通过提供的对象在Javascript数组中查找对象的索引
我想了解此功能,但在web上找不到任何解决方案 下面是一个虚拟数组,其中包含大量这样的数据通过提供的对象在Javascript数组中查找对象的索引,javascript,Javascript,我想了解此功能,但在web上找不到任何解决方案 下面是一个虚拟数组,其中包含大量这样的数据 var a = [ { "category": "1", "title": "Apple", "price": 1049 }, { "category": "2", "title": "Mango",
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可能是,它将无法找到具有不同属性顺序的对象。谢谢,我更新了答案。我只使用了。一些是因为我忘记了。每种方法都更好,因为它不会颠倒逻辑。