我试图解决其中一个编码网站上的挑战,我看到这是应对该挑战的最佳解决方案。
有人可以详细说明为什么这段代码:[...a%10+''+a]
返回以下数组:["2", "1", "1", "2", "2"]
幕后究竟发生了什么?
PS我知道这可能不是最佳实践,但我仍在学习,这似乎真的很有趣。
我试图解决其中一个编码网站上的挑战,我看到这是应对该挑战的最佳解决方案。
有人可以详细说明为什么这段代码:[...a%10+''+a]
返回以下数组:["2", "1", "1", "2", "2"]
幕后究竟发生了什么?
PS我知道这可能不是最佳实践,但我仍在学习,这似乎真的很有趣。
a
假设原始值为1122
。
a%10
返回 的最后一位a
,即2
.+''
将其从数字转换为字符串,"2"
.+a
连接 的全部值a
,得到"21122"
.[...]
会将字符串传播到其字符数组中。以下是将所有步骤作为代码:
const a = 1122;
const lastDigit = a % 10;
const lastDigitStr = lastDigit + '';
const newStr = lastDigitStr + a;
const result = [...newStr];
console.dir(result);