【问题标题】:How can I add an "or" operation to the loop?如何在循环中添加“或”操作?
【发布时间】:2020-11-12 13:34:35
【问题描述】:

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

 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?
  
   })

 });

【问题讨论】:

  • 把它加到你想用的地方就行了。

标签: javascript angular logical-operators


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-13
    相关资源
    最近更新 更多