检查是否已设置变量列表

时间:2017-08-03 20:19:39

标签: javascript

我有一个数组,里面填充了这样的变量名称:

[[1, 3], [0.7, 2.6], [9, 1.4], ...]

除了var myVariables = [variable1,variable2,variable3,variable4]; 还有一个简单的方法来测试是否所有这些变量都被分配了一个值(我的代码中的其他地方)?

4 个答案:

答案 0 :(得分:1)

我建议使用Array.some,这种方法有可能你不必迭代整个数组:

Array#map

答案 1 :(得分:1)

您可以使用Array.prototype.some()方法:

  

some()方法测试数组中的某个元素是否通过了   测试由提供的功能实现。

它可能比forEach方法更有效,因为一旦元素匹配条件,它就会停止迭代(以某种方式短路)。

例如要检查所有元素是否为> 0,请使用反向条件some(),即:<=0

var isFailed = [0, 1, 2, 3, 4].some(x => x <= 0); 

例如,在此处,第一次迭代后,some()退出并返回false

答案 2 :(得分:0)

return myVariables.indexOf(undefined) === -1;

答案 3 :(得分:0)

如果您的某个变量未定义,则会抛出ReferenceError,如Felix Kling在热门评论中提到的那样。否则,如果它具有值undefined,那么您可以检查您的数组是否包含undefined值。

不要抛出Reference Error

如果您执行以下代码,则会ReferenceError,因为variable1从未定义过。

&#13;
&#13;
const myArray = [variable1]
&#13;
&#13;
&#13;

但是下一个代码只会创建一个带有未定义值的数组,因为声明了变量:

let variable1
const myArray = [variable1]

检查是否包含undefined

使用ES 2016 includes()

const isAllDefined = !myVariables.includes(undefined)
// use this boolean where you need it