我可以为多个变量分配相同的值,而每个变量/分配没有一行吗?

时间:2020-03-13 12:14:10

标签: javascript variables ecmascript-6

我正在寻找一种不太冗长的方式将多个变量实例化为相同的值。我目前有这个:

let a = 0;
let b = 0;
let c = 0;
let d = 0;
let e = 0;
let f = 0;
let g = 0;
let h = 0;
let i = 0;
let j = 0;
let k = 0;
let l = 0;
let m = 0;
let n = 0;
let o = 0;

我正在寻找做这样的事情:

let { a, b, c, d, e, f, g, h, i, j, k, l, m, n, o } = 0;

所有这些变量都返回undefined。当然有肯定更好的方法可以将多个变量实例化为相同的值吗?我正在使用let,因为这些值会随着时间变化。

3 个答案:

答案 0 :(得分:7)

您可以按照以下方式destructure将变量作为数组,尽管您需要知道元素的数量,并且确实需要ES6 +:

let [a, b, c, d, e, f, g, h, i, j, k, l, m, n, o] = Array(15).fill(0);

答案 1 :(得分:5)

这就是我要做的。

const [a, b, c, d, e, f, g, h, i, j, k, l, m, n, o] = repeat(0);

console.log(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o);

function* repeat(x) {
    while (true) yield x;
}

相关问题:How to use destructuring assignment to define enumerations in ES6?

答案 2 :(得分:1)

您可以使用生成器,该生成器使用数组进行销毁时会产生所需的值。

function* always(v) {
    while(true) yield v;
}

let [a, b, c, d, e, f, g, h, i, j, k, l, m, n, o] = always(0);

console.log(a);
console.log(o);

相关问题