tratando de verificar si un valor de matriz presente en una matriz base y devolver como cadena-
matriz básica:
const filters = { "name: "location", "data" : [ "dana-point", "canada-so" ] } const posts = [ { "date": "09 February 2022", "title": "There are many variations of passages of Lorem Ipsum available", "locations": [ "dana-point", "new-york" ], "url": "/news/many-variations", }, { // so may items }, ]Quería devolver todas las publicaciones que coincidían con el objeto de datos de filtro con al menos una coincidencia de valor como: en el ejemplo anterior, se devolverá la primera publicación ya que coincide con la ubicación, dana-point.
let filteredPosts = posts.filter(item => checks.includes(item[checks.data])));
no funciona
Puedes hacer algo como esto:
const checks = [ { name: "locations", data: ["dana-point", "canada-so"] } ]; const posts = [ { date: "09 February 2022", title: "There are many variations of passages of Lorem Ipsum available", locations: ["dana-point", "new-york"], url: "/news/many-variations" } ]; const filtered = posts.filter((post) => checks.every((check) => post[check.name].some((data) => check.data.includes(data)) ) );