在不使用循环的情况下检查数组中的值

Check values in array without using a loop

我正在尝试检查两个值,如果满足则做一些事情,如果不明显则抛出错误。现在我遇到的问题是在抛出错误之前需要完全检查数组。 例如:

    (let u=1; u < CODELIJST.length; ++u){
     if (CODELIJST[u][0]==shift) {
      var testvar2 = CODELIJST[u][1];
     }else{
     // throw error if value is not found
     }
    }

数组是二维的,这就是为什么我只用 var u 循环

您可以使用 else if and break:

if (CODELIJST[u][0] === shift) {
  var testvar2 = CODELIJST[u][1];
  break;
} else if (u === CODELIJST.length) {

已编辑: 根据 TheMaster 的建议,使用 array.forEach 而不是 array.map 因为它没有 return 值。这会在不使用循环的情况下检查每个数组元素是否为字符串。

试试这个:

function checkArrayValType() {

  var d, f = 2; 
  var array = ['a','b','c',d,'e',f];

  array.forEach(val = index => (typeof index === "string") ? console.log("String") : console.log("not string"))

}

这是一个使用 array.map 函数检查数组中的值是否为字符串的示例实现。

参考文献: