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