写循环更短

时间:2020-10-03 17:08:02

标签: javascript

我有以下代码,想要简短些。对于!ChangesElem,我必须进行循环。如何减少行数?

var ElementArray = document.getElementById('ob').getElementsByTagName("*");
for (var i = 0; i < ElementArray.length; i++) { 
    if (ElementArray[i] === e) {
        var ChangesElem = "yes";
    }
}
        
if (!ChangesElem) {
    // do something...
}

2 个答案:

答案 0 :(得分:2)

一方面,您可以获取带有查询字符串和#ob的{​​{1}}所有后代的集合,然后检查集合querySelectorAll是否为.includes

e

但是Node#contains也可以正常工作:

const descendants = [...document.querySelectorAll('#ob *')];
if (!descendants.includes(e)) {
  // do something
}

答案 1 :(得分:0)

  • 您可以使用text1 = "TKTID000" text2 = "SITEIDNYL01101" text3 = "VIPPASS123456" text4 = "TKTSOWTEST" sht1 = "TKTID" sht2 = "SITEID" sht3 = "VIPPASS" sht4 = "TKTSOW " input1 =text1.replace(sht1,'') input2 =text2.replace(sht2,'') input3 =text2.replace(sht3,'') input4 =text4.replace(sht4,'') print(input1) print(input2) print(input3) print(input4) 将其缩短。

您可以了解有关this link

的更多详细信息

Array.some