簡體   English   中英

通過提供的 Object 在 Javascript 數組中查找 Object 的索引

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM