JavaScript通过多个字符串过滤数组?

要按多个字符串过滤数组,请将for循环与一起使用indexOf()。以下是代码-

示例

var details = [
   'My first Name is John and last Name is Smith',
   'My first Name is John and last Name is Doe',
   'Student first Name is John and last Name is Taylor'
];
var isPresent;
var records = [];
var matchWords = ['John', 'Doe'];
for (var index = 0; index < details.length; index++){
   isPresent = true;
   for (var outer = 0; outer< matchWords.length; outer++) {
      if (details[index].indexOf(matchWords[outer]) === -1) {
         isPresent = false;
         break;
      }
   }
   if (isPresent){
      records.push(details[index]);
   }
}
console.log(records)

要运行上述程序,您需要使用以下命令-

node fileName.js.

在这里,我的文件名为demo151.js。

输出结果

这将产生以下输出-

PS C:\Users\Amit\JavaScript-code> node demo151.js
[ 'My first Name is John and last Name is Doe'