如何将 "or" 操作添加到循环中?

How can I add an "or" operation to the loop?

我想循环下面的代码。如何将列名保留在数组中并通过循环 return?

 return Students.filter((singleItem) => {

   singleItem["id"].toLowerCase().includes(value.toLowerCase()) ||
   singleItem["name"].toLowerCase().includes(value.toLowerCase()) ||
   singleItem["class"].toLowerCase().includes(value.toLowerCase())

  });

例如:

  var columns= ["id","name","class"];

  return Students.filter((singleItem) => {
   columns.map(data=>{

   singleItem[data].toLowerCase().includes(value.toLowerCase()); //I have to use the "||" operation here. How can I use it in the loop?
  
   })

 });

您可以使用 Array#some 迭代给定的键并提前退出。

var columns = ["id", "name", "class"];

return Students.filter(singleItem =>
    ["id", "name", "class"].some(key =>
        singleItem[key].toLowerCase().includes(value.toLowerCase())
    )
);