2017-12-23 55 views
1

私はコーディングのウェブサイトの1つで課題を解決しようとしていましたが、私はその挑戦のための最良の解決策でこれを見ました。 ["2", "1", "1", "2", "2"]数値を文字列に変換するために、ここではスプレッド演算子を使用していますか?

実際に舞台裏で何が起こっている:[...a%10+''+a]

次の配列を返します。このコードの一部は、なぜ

は、誰かが手の込んだことはできますか?

P.S.私はこれがベストプラクティスではないかもしれないことを知っていますが、私はまだ学んでおり、これは本当に興味深いようです。

+1

?それはどこから来たの? – CRice

+3

@CRice「a」は、「1122」または「1122」のいずれかでなければなりません。 – Paulpro

+0

'a'は数字です。 @Paulproは言ったように、それは1122です。 – dusski

答えて

2

aの元の値を1122とします。

  1. a%10すなわち2aの最後の桁を返します。
  2. +''は、数値を文字列の"2"に変換します。
  3. +aは、aの完全な値を連結し、結果として"21122"となります。
  4. これを[...]に入れると、その文字列が文字の配列に広がります。ここで

コードなど、すべての手順は次のとおりです。A` `の値は何

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

+0

ああ、それは実行の順序になります。私にそれを実現させてくれてありがとう、ありがとう。 – dusski