[英]Find Index of the Object inside an Javascript array by the provided Object
我想了解此功能,但在 web 中找不到任何解決方案。
下面是一個包含大量此類數據的虛擬數組。
var a = [
{
"category": "1",
"title": "Apple",
"price": 1049
},
{
"category": "2",
"title": "Mango",
"price": 2000
},
....So on
]
我想通過實際的 object 數據在這個 var 'a' 數組中找到 object 的索引。 示例我有一個 object
var b = {
"category": "2",
"title": "Mango",
"price": 2000,
},
如何找到這個? a.findIndex(b)
不起作用。
您可以在字符串化后比較對象。
var a = [ { "category": "1", "title": "Apple", "price": 1049 }, { "category": "2", "title": "Mango", "price": 2000 }, ]; var b = { "category": "2", "title": "Mango", "price": 2000, }, bStr = JSON.stringify(b); let idx = a.findIndex(obj=>JSON.stringify(obj)===bStr); console.log(idx);
您可以在不進行字符串化的情況下比較每個屬性。
var a = [ { "category": "1", "title": "Apple", "price": 1049 }, { "category": "2", "title": "Mango", "price": 2000 }, ] var b = { "category": "2", "title": "Mango", "price": 2000, }; const index = a.findIndex(o => Object.keys(o).every(key => o[key] == b[key])); console.log(index); // 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.