用js实现将输入的数字的每一位平方,输出也是数字形式
【demo_one】
function squareDigits(num){
var arr = new Array();
var str = "";
for(var i = 0;num/10 != 0 ;i++){
var temp = num % 10;
arr[i] = temp*temp;
num=Math.round((num / 10)-0.5);
if(num <= 0)
break;
}
for(i=arr.length-1;i>=0;i--){
str+=arr[i];
}
return parseInt(str);
}
alert(squareDigits(9119));
这是纯数学方法解决的,很捉急啊。。。时间50s。。。
【demo_two】
function squareDigits(num){
var str ="";
var str2="";
str+= num;
var arr = str.split("");
for(var i=0;i<arr.length;i++){
var temp = parseInt(arr[i]);
str2 += temp*temp;
}
return parseInt(str2);
正则表达式,时间48s...
【demo_3】map
function squareDigits(num){
return Number(('' + num).split('').map(function (val) { return val * val;}).join(''));
}
所以入门还是要花点时间。。。