草庐IT

MAX_SAFE_INTEGER

全部标签

javascript - 在字符串数组上使用 JavaScript 的 Math.max 是否安全?

这似乎适用于看起来像数字的字符串数组(它们是使用csv-parse读取的CSV文件中的数字,它似乎将所有内容都转换为字符串):vara=['123.1','1234.0','97.43','5678'];Math.max.apply(Math,a);返回5678。Math.max是否自动将字符串转换为数字?或者我应该先自己进行+转换以更加安全吗? 最佳答案 DoesMath.maxconvertstringstonumbersautomatically?为Math.max引用ECMAScript5.1规范,Givenzeroormo

javascript - d3.max 没有得到正确的值

这个问题在这里已经有了答案:D3.jsscalereturningwrongvaluesfromdataset(2个答案)关闭7年前。我正在使用d3.js来呈现一些数据,数据集是一个名为bar-data.csv的csv文件,如下所示:date,value,durationwww.sina.com,53,100www.baidu.com,165,2000www.qq.com,269,690www.youku.com,421,224www.facebook.com,405,345www.apple.com,376,777www.cnn.com,359,298www.cctv.com,433

javascript - 在 javascript 中执行 "integer "转换/类型转换的惯用方式是什么?

Anotherquestion询问Javascript中代码片段a>>>0的含义。事实证明,这是一种确保变量是无符号32位整数的聪明方法。这很漂亮,但我不喜欢它有两个原因。表达的意图不清楚,至少我不清楚。它不适用于负数这让我想问:在Javascript中将任意值转换为“整数”的最惯用的方法是什么?它应该适用于有符号整数,而不仅仅是非负数。由于整数在Javascript中只是伪装的float而中断的情况是可以接受的,但应该承认。它不应在任何情况下返回undefined或NaN(这些不是整数),但对于非数字值则返回0。 最佳答案 par

javascript - Math.E 等于 0.99.... ^ max int

一位friend向我展示了(至少在googlechrome控制台中)以下语句打印为真:1/Math.pow(0.9999999999999999,Number.MAX_SAFE_INTEGER)===Math.E事实上,1/Math.pow(0.9999999999999999,Number.MAX_SAFE_INTEGER)是2.718281828459045。这不会是巧合吧?!有人能解释一下幕后发生了什么吗?根据wolframalpha,正确的值应该大约为1/0.40628,大约为2.4613566998129373--与Math.E相去甚远。(我假设wolframalpha的计算

javascript - 我如何将 Math.max 与对象数组一起使用?

我想选择对象数组中最大的数字,因此,例如,我想获取包含最大数字的x属性(在此示例中,maximum应为200):varmyArr=[{x:100,y:200},{x:200,y:500}];//doesnotwork:varmaximum=Math.max.apply(Math,myArr.x); 最佳答案 您必须自己从对象中提取属性:varmaximum=Math.max.apply(Math,myArr.map(function(o){returno.x;}));它使用.map()遍历数组的元素并返回“x”属性的值。然后将该结果

javascript - Chart.js 时间刻度 : set min and max on xAxes

如何在xAxes上设置最小值和最大值?它在yAxes上工作正常,但在xAxes上它没有显示任何行为。我的xAxes使用的是type:'time'。我的xAxis标签也使用了moment对象。但是当我删除类型时间并使用普通数字时它也不起作用。我使用的是Chart.js版本2.2.2。scales:{yAxes:[{ticks:{beginAtZero:false,}}],xAxes:[{type:'time',ticks:{min:moment(1471174953000),max:moment(1473853353000)}}]}Hereisthechart.jsTimeScaledo

javascript - 如何将 math.max 缩减为对象数组

我有一个对象数组。我想从数组的数字属性中获取最大值:[{number:1000,name:"Josh"},{number:2000,name:"Joker"},{number:3000,name:"Batman"}]我正在使用此解决方案,但我一直收到NAN:constmax=arr.reduce((a,b)=>Math.max(a.number,b.number));我的目标是获取最大值,然后将其存储在变量中constx={number:3000,name:"Batman"}我如何通过reduce实现它?它似乎只适用于数字数组。 最佳答案

javascript - 如何让外部代码 'safe' 运行?只是禁止 eval()?

我希望能够让社区成员提供他们自己的javascript代码供其他人使用,因为用户的想象力集体远远超过我所能想到的。但这引发了固有的安全问题,特别是当目的是允许外部代码运行时。那么,我可以禁止提交中的eval()并结束它吗?还是有其他方法可以评估代码或在javascript中引起大规模panic?还有其他一些事情是不允许的,但我主要担心的是,除非我可以阻止字符串被执行,否则我为特定方法设置的任何其他过滤器都可以被绕过。可行,还是必须求助于作者提供网络服务接口(interface)? 最佳答案 自HTML5现在可以使用了sandbox对

javascript - 一个 "safe place"来评估 Javascript 中的受信任代码(具有特定上下文)? [编辑: how can you break it?]

不要在标题上评判我,我知道eval是邪恶的,但我这样做是有原因的,而且会非常有限。事情是这样的:我想创建一个安全的空间,我可以在其中运行特定的(和受信任的)代码,并检索结果(如果它符合我的期望)。出于安全原因,我想将它从所有其他范围中删除(这个空间被要求提供结果,并且应该不能单独将任何内容导出到周围的范围)。我找到了一个似乎可行的解决方案,它也可以为执行添加上下文,但我不确定它是否有效,或者该系统中是否存在安全漏洞。你能告诉我它是否有问题吗?它实际上创建了与全局变量同名的本地变量,以防止访问它们。它还剥离了功能(我将添加功能以保留我想要保留的功能)。该函数声明为最接近全局变量,以避免更

javascript - Angular 2 自定义验证器 : check if the input value is an integer?

在Angular2项目中,我需要验证一些输入。如何轻松检查输入值是否为整数?我尝试使用Number(control.value)为空字段返回0-不好。或parseInt(control.value,10)不考虑空格:如果我有类似的东西:1space0,24=1,024它返回1-它通过了验证器没有错误。Lodash函数如:_.isInteger(control.value)或_.isNumeric(control.value)//每次都返回false-这是预期的,因为输入值是字符串而不是数字。像这样组合方法会创建一个包含许多if/else语句的困惑函数,即便如此,我也不确定我是否得到了所