【js思考】用js實現將輸入的數字的每一位平方,輸出也是數字形式

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

所以入門還是要花點時間。。。


發佈了21 篇原創文章 · 獲贊 3 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章