这道题的关键在于对程序进入死循环时的处理~
var isHappy = function(n) {
if(n<1)
return false;
var tmp=(n+"").split(''); //将n的每一个数字拆分存到数组(从高位到 低位存储)
var res=0;
var loop=[n];
while(res!=1){
res=0;
for(i=0;i<tmp.length;i++){
res+=Math.pow(parseInt(tmp[i]),2);
}
tmp=(res+"").split('');
if(loop.indexOf(parseInt(res))!=-1 && res!=1)
return false;
loop.push(res);
}
return true;
};