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