day2每个数字求平方
题目:
Welcome. In this kata, you are asked to square every digit of a number and concatenate them.
For example, if we run 9119 through the function, 811181 will come out, because 92 is 81 and 12 is 1. (81-1-1-81)
Example #2: An input of 765 will/should return 493625 because 72 is 49, 62 is 36, and 52 is 25. (49-36-25)
Note: The function accepts an integer and returns an integer.
Happy Coding!
我的答案:
function squareDigits(num){
//num->str->arr->arr[i]^2->str->num
let str=num.toString();
let arr=str.split();
for(var i=0;i<arr.length;i++){
let arr2=arr.push(parseInt(arr[i])^2)
}
let str2=arr2.join();
let num2=parseInt(str2)
return num2;
}
正确答案:
function squareDigits(num){
return Number(('' + num).split('').map(function (val) { return val * val;}).join(''));
}
或者:
function squareDigits(num){
return +num.toString().split('').map(i => i*i).join('');
}
或者:
function squareDigits(num){
var string = num.toString();
var results = [];
for (var i = 0; i < string.length; i++){
results[i] = string[i] * string[i];
}
return Number(results.join(''));
};

浙公网安备 33010602011771号