Javascript 如何在字符串数组中搜索特定的子字符串,并使用Lodash删除/删除/删除包含该子字符串的数组项?

Javascript 如何在字符串数组中搜索特定的子字符串,并使用Lodash删除/删除/删除包含该子字符串的数组项?,javascript,arrays,string,search,lodash,Javascript,Arrays,String,Search,Lodash,关于搜索/循环字符串数组并匹配给定的子字符串,有很多很棒的问题/答案,但我找不到一个使用Lodash删除/删除任何包含所需搜索子字符串的数组元素的简明示例 我找到的搜索/匹配字符串数组的最佳资源是这个问题(几个好答案): 如果项目与搜索/子字符串匹配(true),则这些答案似乎都不适用于立即删除项目 有没有一种简单的方法可以循环遍历字符串数组并使用Lodash删除匹配的项 虽然还有其他选项,但我们最好使用Lodash,因为我们已经依赖它来实现许多类似的功能。因此我最终找到了一种使用Lodash的

关于搜索/循环字符串数组并匹配给定的子字符串,有很多很棒的问题/答案,但我找不到一个使用Lodash删除/删除任何包含所需搜索子字符串的数组元素的简明示例

我找到的搜索/匹配字符串数组的最佳资源是这个问题(几个好答案):

如果项目与搜索/子字符串匹配(true),则这些答案似乎都不适用于立即删除项目

有没有一种简单的方法可以循环遍历字符串数组并使用Lodash删除匹配的项


虽然还有其他选项,但我们最好使用Lodash,因为我们已经依赖它来实现许多类似的功能。

因此我最终找到了一种使用Lodash的u.remove功能的方法,如下所示:

        // The String (SubString) we want to match against array (for dropping purposes)
        var searchSubString = "whatever" 

        // Remove all array items that contain the text "whatever"
        _.remove(my_array, function(searchSubString) {
              return n.indexOf(searchSubString) !== -1;
            });
基本上,indexOf与字符串中子字符串的位置匹配,如果未找到子字符串,则返回-1,当indexOf返回的数字不是-1(该数字是数组字符串中字符数的子字符串位置)时,Lodash通过数组变异删除该项

参考资料: