有条件的解构数组

时间:2018-07-26 16:43:20

标签: javascript arrays if-statement ecmascript-6 destructuring

我有一个api,可在数组内返回单个布尔值。 如何在条件内分解变量?

let condition = [true];


if (...condition) {
    // do stuff
}

我知道我可以使用condition[0],但采用类似destruct-ish的解决方案似乎更合理,因为如果数组包含多个值,则可以对每个值进行求值(let condition = [true, true, true])。

2 个答案:

答案 0 :(得分:4)

您可以使用Array.prototype.every

> [true, true].every(x => x)
true
> [true, false].every(x => x)
false

所以:

let condition = [true, true, true];
if (condition.every(x => x)) {
    // do stuff
}

答案 1 :(得分:3)

只需将变量作为数组即可。

let [condition] = [true];

对于多个vlaues,您可以采用更多变量,例如

let [cond1, cond2, cond3] = [true, false, true];