自己想的
for(var i=0; i<10000; i++){ fn(i); } function fn(num){ var n = num.toString(); if(n.length<2){ return; } var prev = n.substring(0, Math.round(n.length/2)); var next = n.substring(Math.round(n.length/2), n.length).split("").reverse().join(""); if(prev == next){ console.log(n); } }
网上找到的,不过他第一种方法跟俺的差不多,嘿嘿!!!
1 //方法一 2 function isSymmetryNum(start,end){ 3 var flag; 4 for(var i=start;i<end+1;i++){ 5 flag=true; 6 var iStr=i.toString(); 7 for(var j=0,len=iStr.length;j<len/2;j++){ 8 if(iStr.charAt(j)!==iStr.charAt(len-1-j)||i<10){ 9 flag=false; 10 break; 11 } 12 } 13 if(flag==true){ 14 console.log(i); 15 } 16 17 } 18 } 19 //方法二(更好) 20 function isSymmetryNum(start,end){ 21 for(var i=start;i<end+1;i++){ 22 var iInversionNumber=+(i.toString().split("").reverse().join("")); 23 24 if(iInversionNumber===i&&i>10){ 25 console.log(i); 26 } 27 28 } 29 } 30 isSymmetryNum(1,10000);