Hola, tengo una matriz de enteros que he estado tratando de comparar con mi matriz de objetos. Solo quiero verificar que CUALQUIERA de los valores en la matriz estén dentro de objArray, no es necesario que sean TODOS.
const objArray = [{id: 1},{id: 2},{id: 3}] const array = '1,2'Esto es lo que intenté, pero creo que probablemente estoy fuera de la lógica, termino siendo falso cada vez que ejecuto el siguiente código.
stringToArray(array).includes(objArray.some(o => o.id))Esencialmente, mi objetivo general es validar que cualquier retorno sea verdadero y luego continuar con el código; de lo contrario, arrojará un error.
function stringToArray() { return valueString.match( /(?=\S)[^,]+?(?=\s*(,|$))/g ) }¡Gracias por tu ayuda! Sigo siendo falso independientemente y puede tener que ver con mi función que se ajusta a la matriz. Mi matriz era originalmente una cadena que convertí usando expresiones regulares en una matriz.
¡Gracias de antemano!
Estás muy cerca. Solo cambia tu declaración.
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)));Estabas en el camino correcto con tu lógica.
Aunque esta no es la respuesta más eficiente, funcionará para su caso.
Creo que desea hacer coincidir todos los valores, si lo entiendo correctamente.
Por lo tanto, una forma de verificar si cada id en el objeto está incluido en la matriz es recorrer el objeto.
Si desea mucho al menos uno, simplemente cámbielo a some instante de 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)