【js思考】用js实现将输入的数字的每一位平方,输出也是数字形式

来源:互联网 发布:无线上网数据卡怎么用 编辑:程序博客网 时间:2024/06/05 00:12

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

所以入门还是要花点时间。。。


0 0