Javascript 过滤控件数组并对其进行操作

Javascript 过滤控件数组并对其进行操作,javascript,refactoring,sapui5,logical-operators,Javascript,Refactoring,Sapui5,Logical Operators,背景:在达到某个状态后,用户应该不能在UI中修改表单字段中的数据 当UI达到此状态时,需要禁用的输入字段少于40个 目前,实现是搜索所有可能控件的数组(数组600),并且只有那些与条件中控件的id不匹配的控件被禁用 element.getId()的示例将是“\uuuxmlview2--SaveBtn”、“\uxmlview2-Page-SaveBtn”。这些基本上是控件的id //for each control that is not the following controls perfor

背景:在达到某个状态后,用户应该不能在UI中修改表单字段中的数据

当UI达到此状态时,需要禁用的输入字段少于40个

目前,实现是搜索所有可能控件的数组(数组600),并且只有那些与条件中控件的id不匹配的控件被禁用

element.getId()
的示例将是“
\uuuxmlview2--SaveBtn
”、“
\uxmlview2-Page-SaveBtn
”。这些基本上是控件的id

//for each control that is not the following controls perform the logic within this statement.

 controls.forEach(function(element){
    if(element.getId().indexOf("Page-") == -1 &&
       element.getId().indexOf("ControlName1") == -1 &&
       element.getId().indexOf("ControlName2") == -1 &&
       element.getId().indexOf("ControlName3") == -1 &&
       element.getId().indexOf("ControlName4") == -1 && 
       element.getId().indexOf("ControlName5") == -1)  {

            //do the logic fr disabling fields here 
     )};

最好的方法是什么来写这段代码更清楚,这样就可以清楚地知道这段代码的作用了?你会怎么做?谢谢。

我建议将字符串放入一个数组中,然后与重新签入


请添加一些
element.getId()
的示例。编辑此问题以添加element.getId()的示例
var items = ["Page-", "ControlName1", "ControlName2", "ControlName3", "ControlName4", "ControlName5"],
    id = element.getId();

if (items.every(function (item) { return id.indexOf(item) == -1; })) {
    // do the logic for disabling fields here 
)};