如何知道javascript for语句中的所有结果是否都是错误的

How to know if all results are wrong in a javascript for statement

本文关键字:结果是 结果 是否 错误 javascript 何知道 for 语句      更新时间:2023-09-26

我有一个简单的循环:

for (i = 0; i < menuitem.length; i += 1) {
    if (menuitem[i].href == window.location) {
        menuitem[i].className = "current"
    } else {
        if (menuitem[i].nodeType !== 3) {
            menuitem[1].className = "current";
        }
    };

如何将else语句替换为"如果menuitem[I]的所有结果都为false"?因为现在,对于每一个为false的语句,else语句都会被执行,而我只想在整个循环为false时执行它。

我希望我说清楚了。

感谢你们的帮助伙计们

要查看整个数组是否包含假值,可以执行以下操作:

var found = false;
for (i = 0; i < menuitem.length; i += 1) {
    if (menuitem[i]) {
        found = true;
    }
}
if (found) {
    // some truthy value was found in the array
} else {
    // no truthy values found in the array
}

要查看整个阵列是否符合您的条件,您可以执行以下操作:

var found = false;
for (i = 0; i < menuitem.length; i += 1) {
    if (menuitem[i].href == window.location) {
        found = true;
    }
}
if (!found) {
    // no items in the array met your condition 
} else {
    // at least one item in the array met your condition
}

如果不介意额外的依赖项,可以使用_.js的_.any。(您也可以直接从源代码中复制该方法。)