簡體   English   中英

使用JavaScript檢查元素是否在對象內包含的數組內

[英]Checking if an element is inside an array contained within an object using JavaScript

我有一個對象,其中包含對象數組

{ 
    0: [
          { value:1}
          { value:2}
          { value:3}

       ]
}

我正在嘗試檢查元素是否在數組內,所以我正在做的事情像Object.values(object).some(el => el.value === someNumber)那樣遍歷它,但它總是返回假的,任何人都有什么想法為什么? someNumber可以是任何值,它是一個動態值。

您需要另一個級別,因為Object.values返回數組的數組。

 var object = { 0: [{ value: 1 }, { value: 2 }, { value: 3 }] }; console.log(Object.values(object).some(values => values.some(el => el.value === 2))); console.log(Object.values(object).some(values => values.some(el => el.value === 7))); 

您嘗試用someNumber檢查el實際上是數組,我認為是number。 要執行您想做的事情,您需要像這樣:

 const obj = { 0: [ { value:1}, { value:2}, { value:3} ] } const someNumber = 2; const result = Object.values(obj).some((arr) => arr.some((el) => el.value === someNumber)); console.log(result) 

該數組位於對象的[0]元素中,因此應使用object[0] ,而不是Object.values(object)

 const object = { 0: [ { value:1}, { value:2}, { value:3} ] } console.log(object[0].some(el => el.value === 1)); console.log(object[0].some(el => el.value === 6)); 

除非您的對象可以包含更多屬性,並且您要搜索所有這些屬性。 那么其他答案就更正確了。

暫無
暫無

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

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