繁体   English   中英

如何检查对象数组是否包含数组中的任何值

[英]How to check if array of objects contains any value from array

嗨所以我有一个整数数组,我一直在尝试检查我的对象数组。 我只想检查数组中的任何值是否在 objArray 内,它不需要是 ALL。

const objArray = [{id: 1},{id: 2},{id: 3}]

const array = '1,2'

这是我尝试过的,但我认为我可能不符合逻辑,每次运行以下代码时我最终都会出错。

stringToArray(array).includes(objArray.some(o => o.id))

本质上,我的总体目标是验证任何返回 true,然后继续执行代码,否则会引发错误。

function stringToArray() {
    return valueString.match( /(?=\S)[^,]+?(?=\s*(,|$))/g )
}

谢谢你的帮助? 不管怎样,我一直在出错,这可能与我的 function 环绕数组有关。 我的数组最初是一个字符串,我使用正则表达式将其转换为数组。

先感谢您!

你很亲密。 只需翻转你的陈述。

objArray.some(o => array.includes(o.id))

 const objArray = [{id: 1},{id: 2},{id: 3}] const array = [1, 2]; console.log(objArray.some(o => array.includes(o.id)));

你的逻辑是正确的。

虽然这不是最有效的答案,但它适用于您的情况。

如果我理解正确的话,我相信你想要匹配所有的值。

因此,检查 object 中的每个 id 是否包含在数组中的一种方法是遍历 object。

如果您至少想要some ,只需将其更改为every

 const objArray = [{id: 1},{id: 2},{id: 3}] const array = [1, 2,3] const condition = objArray.every(objElement => { // here you get acess to id here. so we check it againts the array return array.includes(objElement.id) }) console.log(condition)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM