1

我试图解决其中一个编码网站上的挑战,我看到这是应对该挑战的最佳解决方案。

有人可以详细说明为什么这段代码:[...a%10+''+a]

返回以下数组:["2", "1", "1", "2", "2"]

幕后究竟发生了什么?

PS我知道这可能不是最佳实践,但我仍在学习,这似乎真的很有趣。

4

1 回答 1

2

a假设原始值为1122

  1. a%10返回 的最后一位a,即2.
  2. +''将其从数字转换为字符串,"2".
  3. +a连接 的全部值a,得到"21122".
  4. 将其放入[...]会将字符串传播到其字符数组中。

以下是将所有步骤作为代码:

const a = 1122;
const lastDigit = a % 10;
const lastDigitStr = lastDigit + '';
const newStr = lastDigitStr + a;
const result = [...newStr];
console.dir(result);

于 2017-12-23T01:24:10.140 回答