迭代一个数字中的数字,只要它的数字相同

时间:2014-11-17 09:15:32

标签: javascript

我需要遍历数字的数字,直到该数字有差异,然后输出数字长度:

例如:

  

0000123

所以输出应为3.

(消除0000并输出123

我该如何解决?

2 个答案:

答案 0 :(得分:6)

尝试在字符串上循环,直到找到差异:



var num="001234",i,max=num.length,output;
for(i=1;i<max;i+=1){
 if(num[i]!== num[i-1]){
      output = num.substring(i,max);
      break;
 }   
}

alert(output);
&#13;
&#13;
&#13;

答案 1 :(得分:2)

您可以使用filter等ES5功能:

var n = '11112213133';
var test = true;

console.log(String(n).split('').filter(function(v,i,a) {
  test = test? v == a[0] : test;
  return !test;
}).join(''));   // 2213133

您也可以使用简单的字符串方法(可能非常快):

var n = '11112213133';

var i = 0, c = n.charAt(0);
while (c == n.charAt(++i)) {}
console.log(n.substr(i));   // 2213133

虽然这些数字会修改第一个数字是否重复。