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