草庐IT

数字网

全部标签

javascript - 在 Javascript 中对版本点缀的数字字符串进行排序?

我有一个包含以下字符串的数组:['5.5.1','4.21.0','4.22.0','6.1.0','5.1.0','4.5.0']...等等我需要一个解决方案来满足我的要求['4.5.0','4.21.0','4.22.0','5.1.0','5.5.1','6.1.0'].我尝试实现一种排序,因此它首先按第一个位置的数字排序,而不是在相等的情况下,按第二个位置(第一个点之后)的数字排序,依此类推...我尝试使用sort()和localeCompare(),但如果我有元素'4.5.0'和'4.11.0',我将它们排序为['4.11.0','4.5.0'],但我需要得到['4.5.0'

javascript - 用于逗号分隔数字的 JavaScript 验证的正则表达式

我有一个文本框,它可以有像1或1,2或1,225,345,21这样的值(即多个值).但现在我想验证这个输入。toString().match(/^(([0-9](,)?)*)+$/)这是我正在使用的代码。它仅验证正确,但当用户输入如下值时会出现一个问题:inputval:1,22,34,25,645(true)inputval:1,22,34,25,645,(false)当用户在末尾输入逗号(,)时,它应该抛出一个错误。谁能帮帮我? 最佳答案 只需手动包含至少一个:/^[0-9]+(,[0-9]+)*$/letregex=/[0-9

javascript - 人类可读值的实际数字

我有字节数据。我需要将这些值绘制为图表上的人类可读标签(如2.5KB、14MB等),并且需要帮助处理函数(输入数据-实际值,输出-人类可读字符串)。我是这样实现的,但是我想要更优雅的实现functiontickFormatter(value,type){varsuffix=(type=="bytes")?['B','KB','MB','GB']:['','K','M','G']if(value>(1024*1024*1024*1024)){return(value/(1024*1024*1024*1024)).toFixed(2)+suffix[3]}elseif(value>(102

JavaScript 数组转数字

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:Canyouexplainwhy++[[]][+[]]+[+[]]=10这几天我一直在想一些事情...我知道JavaScript中的一元加号首先将其操作数转换为数字。我将+应用于空数组,得到以下结果:+[]==0当我这样做时:+[1]==1但是:+[1,2]==NaN最后两件事差不多清楚了,但为什么空数组是0?!这是否与:[]==false有时ECMAScript让我很奇怪......alert([![]+[]][+[]][+[]]+[![]+[]][+[]][+!+[]]+[!+[]+[]][+![]][+

javascript - 正则表达式匹配字符串末尾的数字

我正在尝试使用正则表达式匹配字符串末尾的数字。例如,字符串可能如下所示:varfoo='101*99+123.12';//wouldmatch123.12varbar='101*99+-123';//wouldmatch-123varstr='101*99+-123.';//wouldmatch-123.这是我到目前为止得到的,但如果没有小数点,它似乎匹配整个字符串:foo.match(/\-?\d+.?\d+?$/);我的意思是:\-?:可选的“-”符号\d+:1个或多个数字.?:可选小数点\d+?:可选的小数点后一位或多位$:匹配字符串末尾我错过了什么?

javascript - 使用 setValue angular 4 时,错误在位置 0 处缺少数字

我正在使用Angular4react形式,momentjs,和primengcalendar我打算使用setValue并尝试在包含日期的reactiveForm字段上使用patchValue。这个日期是通过primeng日历创建的。购买日期:2017年9月2日星期六00:00:00GMT+0100(GMT夏令时)我使用这个“日期”做一些事情,然后使用momentjs将日期转换为干净的格式以供后端接受(即YYYY.MM。DD)使用.moment().format(....但是,当我运行.setValue时,我收到以下控制台错误ERRORMissingnumberatposition0并且

javascript - 我如何在 Javascript 中对大于 2^32 的数字进行按位和运算?

例如,如何得到137438953472&137438953472的正确答案?如果操作数介于2^32和2^53(maxint)之间,则Javascript返回0。 最佳答案 好的,这就是我想出的,只测试了无符号整数编辑:修复了部分结果被解释为已签名时的错误functionand(op1,op2){varmod=Math.pow(2,32),op1mod=op1%mod,op2mod=op2%mod,op164to32,op264to32,res32,res64,res;op1-=op1mod;op2-=op2mod;res32=(op

javascript - 使用 JavaScript Number() 函数比较两个数字是否相等

当我尝试使用JavaScriptNumber()函数比较两个数字时,它会为相等的数字返回false值。但是,大于(">")和小于("true。varfn=20;varsn=20;alert(newNumber(fn)===newNumber(sn));此警报返回一个false值。为什么这不返回true? 最佳答案 newNumber()willreturnobjectnotNumberandyoucannotcompareobjectslikethis.alert({}==={});willreturnfalsetoo.删除new,

javascript - 用数字创建日期 (new Date(2012, 03, ...) 给出错误的月份 (+1)

当使用数字作为部分创建新日期对象时,我得到的值正好比我为“月”输入的值早一个月。newDate(2012,05,17,00,00,00)SunJun17201200:00:00GMT+0800(HKT)//june?!但是,完全相同的字符串的正常解析会返回正确的时间:newDate("2012-05-1700:00:00")ThuMay17201200:00:00GMT+0800(HKT)我在ie/ff/chrome中得到了相同的结果。删除小时/分钟/秒没有任何效果。我可以通过在设置月份之前减去一个来解决这个问题,但我只是转而将我的日期写成字符串。编辑:字符串解析在IE中不起作用。我不

Javascript 反向引用后跟数字

如果我有一个正则表达式,比如13个捕获组,我将如何指定包含第一个反向引用后跟文字“3”的替换字符串?varregex=/(one)(2)(3)(4)(5)(6)(7)(8)(9)(10)(11)(12)(13)/;"one2345678910111213".replace(regex,"$13");//Returns"13".HowdoIreturn"one3"?我能找到的最接近的问题是thisone,但它与perl有关并且不包括硬编码文字。还查看了MDN上的docs,但示例中没有明确说明或演示任何内容。 最佳答案 抓得好!我能想到