由於今天找到一個國外線上解題網站,所以決定練習一題,練個手感。
For example, if we run 9119 through the function, 811181 will come out, because 9^2 is 81 and 12^2 is 1.
Note: The function accepts an integer and returns an integer.
Sample Tests :
Test.assertEquals(squareDigits(9119), 811181);
function squareDigits(num){
let str = num.toString(); //將輸入數字轉為字串
let result = '';
for(let i = 0;i < str.length;i++){
let x = parseInt(str.charAt(i),10); //把字串切割為一個一個數字
let temp = (x * x).toString(); //各自平方後轉回字串
result += temp;
}
return parseInt(result,10);
}
字串.charAt(index)
: 回傳該字串指定位置的單一字串。
parseInt(字串)
與Number(字串)
都是將字串轉為數字,但其差別在於 :
parseInt(字串)
parseInt("123qwe456"); //回傳123
Number(字串)
Number("123qwe456"); //回傳NaN
數字.toString()
與String(數字)
都是將數字轉為字串,但其差別在於 :
數字.toString()
null.toString();
//Cannot read property 'toString' of null
undefined.toString();
//Cannot read property 'toString' of undefined
String(數字)
String(null); //回傳"null"
String(undefined); //回傳"undefined"