Actual Code //return arrayOfObjects.filter((object) => searchTags.every((tag) => Object.values(object).includes(tag)))matriz de objetos =
let searchTags= ['damiencbib','ADLs']; { "key": "ACCOR02a", "type": "techreport", "AUTHOR": "ACCORD", "INSTITUTION": "ACCORD", "KEYWORDS": "damiencbib adl", "MONTH": "June", "TITLE": "'Etat de l'art sur les Langages de Description d'Architecture (ADLs)", "URL": "http://projects.infres.enst.fr/accord/", "YEAR": "2002", "BDSK-URL-1": "http://projects.infres.enst.fr/accord/" }, { "key": "ACM94b", "type": "article", "AUTHOR": "ACM", "INSTITUTION": "ACM", "JOURNAL": "Communications of the ACM", "KEYWORDS": "scglib", "MONTH": "May", "NUMBER": "5", "TITLE": "Reverse Engineering", "VOLUME": "37", "YEAR": "1994" }El resultado esperado es solo el primer objeto en la matriz porque contiene tanto 'damiencbib' como 'ADL' dentro. Algo no funciona como esperaba para mí, estaba pensando en usar Regex. Gracias de antemano.
También debe verificar algún valor.
const searchTags = ['damiencbib', 'ADLs'], data = [{ key: "ACCOR02a", type: "techreport", AUTHOR: "ACCORD", INSTITUTION: "ACCORD", KEYWORDS: "damiencbib adl", MONTH: "June", TITLE: "'Etat de l'art sur les Langages de Description d'Architecture (ADLs)", URL: "http://projects.infres.enst.fr/accord/", YEAR: "2002", "BDSK-URL-1": "http://projects.infres.enst.fr/accord/" }, { key: "ACM94b", type: "article", AUTHOR: "ACM", INSTITUTION: "ACM", JOURNAL: "Communications of the ACM", KEYWORDS: "scglib", MONTH: "May", NUMBER: "5", TITLE: "Reverse Engineering", VOLUME: "37", YEAR: "1994" }], result = data.filter(object => searchTags.every(tag => Object .values(object) .some(s => s.includes(tag)) )); console.log(result); .as-console-wrapper { max-height: 100% !important; top: 0; }