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(''));
};



 
posted @ 2026-03-06 16:34  菠蘿的旅行  阅读(1)  评论(1)    收藏  举报