首页 > 解决方案 > 过滤包含特定值的数组中的每个字符串

问题描述

我有一个数组:

var stringOne = ["big dog","small dog", "big cat", "small cat"]

我想过滤掉每个包含“dog”的字符串。

当然功能:

var stringTwo = stringOne.filter((e) => e !== "dog")

不起作用,因为没有确切的“狗”字符串,但我很好奇是否有内置函数来完成这个?

标签: javascript

解决方案


您可以使用以下方法实现此目的String.prototype.includes

var stringOne = ["big dog", "small dog", "big cat", "small cat"]

const filterByWord = (arr, word = "") => {
  return arr.filter(s => {
    return s.toLocaleLowerCase().includes(word.toLocaleLowerCase());
  });
}
console.log(filterByWord(stringOne, "dog"));


推荐阅读