Así que la primera matriz se ve así:
const allNewspaper = [ 'wall_street_journal_1631199606466.csv' ,'newyork_times_1631199606505.csv' ,'washington_post_1631199606516.csv' ];Luego tengo otra matriz que contiene todo el periódico que quiero conservar en la matriz anterior. Pero están escritos sin marca de tiempo. Así que la segunda matriz se ve así:
const wantedNewspaper = [ 'wall_street_journal' ,'washington_post' ];Al final, una nueva matriz debería verse así:
const allAcceptedNewspaper = [ 'wall_street_journal_1631199606466.csv' ,'washington_post_1631199606516.csv' ];Me pregunto si hay una forma sencilla de hacer esto con array.prototype.filter. Mi enfoque actual es recorrer "allNewspaper" y verificar si hay un elemento en "wantedNewspaper" donde coincida una subcadena.
indexOf compruebas si una subcadena pertenece a una cadenasome compruebas si alguno de los elementos de la matriz cumple la pregunta const allNewspaper = [ 'wall_street_journal_1631199606466.csv' ,'newyork_times_1631199606505.csv' ,'washington_post_1631199606516.csv' ]; const wantedNewspaper = [ 'wall_street_journal' ,'washington_post' ]; const allAcceptedNewspaper = allNewspaper.filter(paper => wantedNewspaper.some( w => paper.indexOf(w) > -1 ) ); console.log(allAcceptedNewspaper)