2013-09-21 33 views
1

以下函数需要两个与“用户”链接的数字,并根据该数字计算id号。我一直在尽可能地做到这一点,并希望就如何提高效率提出建议。JavaScript中更高效的id计算器版本

function getidnumber(num, ts) { 
      num = num.substr(4, 4); 
      ts = ((ts == undefined) ? "3452" : (ts)); 
      var _local5 = ""; 
      var _local1 = 0; 
      while (_local1 < num.length) { 
       var _local4 = Number(num.substr(_local1, 1)); 
       var _local3 = Number(ts.substr(_local1, 1)); 
       var _local2 = String(_local4 + _local3); 
       _local5 = _local5 + _local2.substr(_local2.length - 1); 
       _local1++; 
      } 
      return("@user" + _local5); 
}; 
+1

看起来不太适合StackOverflow。如果代码正常工作,并且您正在寻找关于如何改进它的建议,请尝试http://codereview.stackexchange.com/。但是我看到有几件事情可以改进,1. ts = ts || '3452',2.'_local5 + = _local2.substr(...)',3.'return“@user”+ _local5' – elclanrs

+0

谢谢,我过去一直没有成功使用codereview,但我会给它去吧 – riyoken

回答

1

可能是zip?

function zip() { 
    var args = [].slice.call(arguments); 
    var shortest = args.length==0 ? [] : args.reduce(function(a,b){ 
     return a.length<b.length ? a : b 
    }); 
    return shortest.map(function(_,i){ 
     return args.map(function(array){return array[i]}) 
    }); 
}