首页 > 解决方案 > 从数组中过滤数组列表

问题描述

所以这里我想做什么

const days = ['monday, april 26, 2021 11:00 pm','tuesday, april 27, 2021 13:00 am','tuesday, april 27, 2021 12:00 am', 'friday, april 27, 2021 12:00 am', 'saturday, april 27, 2021 12:00 am']
    const found = ['monday', 'tuesday']
    const removeFalseDay = days.filter(day => !day.includes("monday"));

      console.log(removeFalseDay);
      console.log(found);
      console.log(days);

所以它适用于单个对象但是当我传入一个单词数组时它会过滤任何人都知道为什么会这样

const days = ['monday, april 26, 2021 11:00 pm','tuesday, april 27, 2021 13:00 am','tuesday, april 27, 2021 12:00 am', 'friday, april 27, 2021 12:00 am', 'saturday, april 27, 2021 12:00 am']
    const found = ['monday', 'tuesday']
    const removeFalseDay = days.filter(day => !day.includes(found));

      console.log(removeFalseDay);
      console.log(found);
      console.log(days);

标签: javascriptarraysfilter

解决方案


怎么样

days.filter(day =>!found.some(f => day.contains(f))

当谓词与任何元素匹配时,some 函数返回 true


推荐阅读