检查数组中的所有元素是否都是字符串

sup*_*per 7 javascript arrays

有没有一种好方法可以检查数组中的所有索引是否都是字符串?

check(["asd", 123]); // false
check(["asd", "dsa", "qwe"]); // true
Run Code Online (Sandbox Code Playgroud)

650*_*502 23

您可以Array.every用来检查所有元素是否都是字符串.

function check(x) {
    return x.every(function(i){ return typeof i === "string" });
}
Run Code Online (Sandbox Code Playgroud)

  • 在 lodash 中,`_.every(x, _.isString);` (4认同)
  • 这是 .some() 的解决方案,它将阻止您遍历所有元素 `function allElementsAreString(arr => !arr.some(element => typeof element !== "string"))` https://developer。 mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some (2认同)
  • @MattCatellier:“some”和“every”都是“短路”,这意味着一旦“every”不满足条件或“some”满足条件,它们就会停止。 (2认同)