草庐IT

数字逻辑

全部标签

javascript - 计算数字有效数字位数的最快方法是什么?

计算一个数的有效位数的最快方法是什么?我有以下功能,它可以工作,但由于字符串操作而速度很慢。/***Countthenumberofsignificantdigitsofanumber.**Forexample:*2.34returns3*0.0034returns2*120.5e+3returns4**@param{Number}value*@return{Number}Thenumberofsignificantdigits*/functiondigits(value){returnvalue.toExponential().replace(/e[\+\-0-9]*$/,'')//

javascript - 在 Javascript 中的数字左侧填充零

这个问题在这里已经有了答案:HowcanIpadavaluewithleadingzeros?(77个答案)关闭8年前。我有一个永远不变的十位数。我想这样填充它,它总是会为添加到数字中的每个额外数字删除一个零。有人可以给我举个例子说明我该怎么做吗?例如。000000000100000001230000011299

javascript - .toFixed() 调用负指数返回一个数字,而不是一个字符串

我注意到当针对负指数调用toFixed时,结果是一个数字,而不是一个字符串。首先,让我们看一下规范。Number.prototype.toFixed(fractionDigits)ReturnaStringcontainingthisNumbervaluerepresentedindecimalfixed-pointnotationwithfractionDigitsdigitsafterthedecimalpoint.IffractionDigitsisundefined,0isassumed.实际发生的是(在Chrome、Firefox、Node.js中测试):>-3e5.toFi

javascript - Angular 2 中的服务应该包含数据操作逻辑还是组件?

这可以标记为基于意见。但我正在寻找标准/最佳实践。我正在构建一个Angular2应用程序,在将数据显示在模板中之前,我必须先操作API中的数据。例如,如果我的服务如下所示:getData(id:number):Observable{returnthis.http.get(this.url+'/'+id).map((res)=>{returnres.json().data;});}prepareData(data){//manipulateandreturnthedata}在我的组件上,我可以这样调用服务:getData(id:number):void{this.dataService.

javascript - 使用javascript输出数字数组的每个组合

数组中有几个数字varnumArr=[1,3,5,9];我想循环遍历该数组并将每个唯一的3数字组合相乘,如下所示:1*3*5=1*3*9=1*5*9=3*5*9=然后返回所有计算的数组varansArr=[15,27,45,135];谁有优雅的解决方案?提前致谢。 最佳答案 生成组合的通用算法如下:functioncombinations(numArr,choose,callback){varn=numArr.length;varc=[];varinner=function(start,choose_){if(choose_==0)

javascript - 将具有单个值的数组乘以数字?

为什么JavaScript允许您将具有单个数值的数组乘以另一个数值或另一个具有单个数值的数组?:[3]*3;//9[3]*2;//6[3]*[3];//9[1,2]*2//NaN我希望每次都返回NaN,但我在Chrome中的实验表明情况并非如此。这是预期的行为吗?这种行为有意义吗?如果是,为什么? 最佳答案 [3]*3;采取以下步骤:数组转换为字符串[3]=>"3"字符串被转换为数字Number("3")=>33*3得到9类似地,对于[1,2]*2:数组转换为字符串[1,2]=>""1,2"字符串被转换为数字Number("1,2"

javascript - 用于检查字符串是否仅包含字母数字字符和空格的正则表达式 - javascript

这是我目前所拥有的:functioncheckTitle(){reg=/^[\w]+$/;a=reg.test($("#title").val());console.log(a);}到目前为止,在我的测试中,它捕获了除_之外的所有特殊字符。如何在当前函数中捕获包括_在内的所有特殊字符?我需要字符串只包含字母数字字符和空格。感谢您的帮助,因为我很难理解regex模式。谢谢! 最佳答案 您的问题是\w匹配所有字母数字值和下划线。我不会解析整个字符串,而是只查找不需要的字符。例如varreg=/[^A-Za-z0-9]/;如果reg.te

javascript - 使用正则表达式替换除最后四个数字之外的所有数字。

我在javascript中使用正则表达式,想用'#'替换数字中除最后四位以外的所有数字。我已经想出如何用'#'替换所有数字,我该怎么做才能不替换最后四位?到目前为止,这是我的代码。returncc.replace(/[0-9]/g,"#") 最佳答案 使用这个模式\d(?=\d{4})并替换为#Demo 关于javascript-使用正则表达式替换除最后四个数字之外的所有数字。,我们在StackOverflow上找到一个类似的问题: https://stack

javascript - 如何从 JavaScript 中的字符串中提取数字?

我想从JavaScript中的字符串中间提取一个数字.在Ruby(我的主要语言)我会这样做:ruby:name="users[107][teacher_type]"num=name.scan(/\d+/).first但在JavaScript中我必须这样做,这看起来有点笨拙。JavaScript:varname="users[107][teacher_type]"varregexp=newRegExp(/\d+/)varnum=regexp.exec(name)[0]有没有办法在不构建RegExp对象的情况下提取匹配的部分?IE。相当于Ruby的String#scan的一行代码?此外,作

Javascript 用 8 和 9 替换字符串不起作用......但其他数字可以......?

检查这个脚本...运行并查看异常情况..http://jsfiddle.net/BjJTc/来自jsfiddlevarm='Jan07';varmm='Jan';alert(m.replace(mm,''));alert(parseInt(m.replace(mm,'')));varm='Jan08';varmm='Jan';alert(m.replace(mm,''));alert(parseInt(m.replace(mm,'')));varm='Jan09';varmm='Jan';alert(m.replace(mm,''));alert(parseInt(m.replace(