如何使用Lodash搜索特定子串的字符串数组以及删除/删除/删除包含该子字符串的那些数组项?

时间:2018-01-25 16:54:22

标签: javascript arrays string search lodash

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

我找到的搜索/匹配字符串数组的最佳资源是这个问题(几个好的答案):Use lodash to find substring from array of strings

  

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

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

虽然桌面上还有其他选项,但我们理想的是要使用Lodash,因为我们已经依赖于它来实现许多类似的功能。

1 个答案:

答案 0 :(得分:0)

所以我最终找到了一种方法来使用Lodash的_.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匹配字符串中子字符串的位置,如果未找到子字符串,则当indexOf返回-1以外的数字时,它将返回-1(该数字是字符数内的字符数的SubString位置数组字符串)Lodash通过数组变异删除该项目。

参考文献: Lodash _.remove documentation