簡體   English   中英

如何檢查嵌套數組/對象中是否存在值

[英]How to check if value exists in a nested array/object

如果我有這樣的數據結構

let info = {
  animals: [
    {
      number: 1,
      name: 'Zebra',
      colour: 'Black',
      code: '233'
    }
  ],
}

我 go 如何檢查顏色“黑色”是否存在(如果有多個動物以及有關它們的所有信息,這也將起作用)?

遍歷info.animals屬性數組。 檢查您想要的條件。

 const info = { animals: [ { number: 1, name: 'Zebra', colour: 'Black', code: '233' } ], } const list = info.animals; list.forEach(i => { if (i.colour === 'Black') { // do something console.log(true); } });

我認為以下三個選項中最有趣的是過濾器。 根據您的問題,您還需要有關黑色動物的所有信息。 因此,過濾器的結果是一個僅由黑色對象(動物)組成的新數組。

也許 some 或 every 對你也有用或有趣,它只返回 boolean。如果至少有一只或什至沒有一只動物有黑色,有些給出 true 或 false。 如果所有/並非所有動物都是黑色,則每個都給出真/假。

 let info = { animals: [ { number: 1, name: 'Zebra', colour: 'Black', code: '233' } ], } // Returns all objects (animals) which have black colour const filter = info.animals.filter((obj)=> obj.colour === 'Black') // Returns true only if any or false if no animal has black colour const some = info.animals.some((obj)=> obj.colour === 'Black') // Returns true only if all or false if not all animals (objects) have black colour const every = info.animals.every((obj)=> obj.colour === 'Black') console.log("FILTER: " + filter.length + " animal(s) with black color. These are: ", filter ) console.log("SOME: " + "At least one black animal? ", some) console.log("EVERY: " + "Every animal in array has black colour? ",every)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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