草庐IT

算术运算

全部标签

javascript - 具有多个键的嵌套运算符的 D3.js 汇总

我正在为时间报告应用程序开发d3.js可视化。我在包含项目时间报告(简化)的数组actuals中有行数据:[{resource:"JohnSmith",reporting_period:"2012/04/1",project:"Javaimplementation",hours:8}...}]我正在尝试使用d3.nest运算符按项目、资源和期间对项目实际值进行分层分组。一切正常,但我找不到使用nest.rollup()运算符在分组的中间级别获取小时小计的方法。我有这样的东西:actuals_by_prj_rsrc_period=d3.nest().key(function(d){ret

javascript - JavaScript 运算符 === 是否可证明可传递?

JavaScript古怪的弱类型==运算符可以很容易地证明是非传递性的,如下所示:vara="16";varb=16;varc="0x10";alert(a==b&&b==c&&a!=c);//alertstrue我想知道是否有任何类似的技巧可以用来处理舍入误差、Infinity或NaN应该显示===是不可传递的,或者是否可以证明它确实是可传递的。 最佳答案 Javascript中的===运算符似乎具有传递性。NaN确实不同于NaN:>>>0/0===0/0false>>>0/0!==0/0trueInfinity可靠地等于Infi

javascript - for in 循环和删除运算符

我注意到,在枚举对象的属性时,似乎在循环开始时拍摄当前属性的快照,然后迭代快照。我有这种感觉,因为以下内容不会造成无限循环:varobj={a:0,b:0},i=0;for(varkinobj){obj[i++]=0;}alert(i)//2演示http://jsfiddle.net/kqzLG/上面的代码演示了我正在添加新属性,但是新属性不会被枚举。但是,删除运算符似乎违背了我的快照理论。这是相同的代码,但在枚举属性之前将其删除。varobj={a:0,b:0},i=0;for(varkinobj){i++;deleteobj.b;}alert(i)//1演示http://jsfid

javascript - JavaScript 中最快的模幂运算

我的问题是在JavaScript中快速计算(g^x)modp,其中^是求幂,mod是模运算。所有输入都是非负整数,x大约有256位,p是2048位的质数,g最多可以有2048位。我发现的大多数可以在JavaScript中执行此操作的软件似乎都使用JavaScriptBigInt库(http://www.leemon.com/crypto/BigInt.html)。在我的慢速浏览器(带有SpiderMonkey的Firefox3.0)上,用这个库进行一次这样大小的幂运算大约需要9秒。我正在寻找至少快10倍的解决方案。对于2048位数字,使用平方和乘法(通过平方求幂,http://en.w

javascript - 带有比较运算符的 jQuery DataTables 过滤列

我一直在使用带有过滤器插件的DataTablesjQuery插件,它很棒。但是,我想知道是否可以在表底部的过滤器输入中的值之前使用比较运算符(例如''or'')按行过滤表列。http://www.datatables.net/plug-ins/filtering#functions有一种方法可以使用接受最大值和最小值的输入字段按范围进行过滤。但是,我想放弃添加两个额外的输入字段并以某种方式解析此列的输入。我要过滤的行只填充了整数(年龄)值。欲望行为的一些例子:inputresults20greaterthan2020-80between20and8020not20有没有人有修改过滤器插

javascript - 如何使用 PEG.js 构建左关联运算符树?

如何使用AbstractSyntaxTree为左关联运算符构建AST(PEG.js)?我试着根据网上的资料写了一些代码,但是我好像犯了一个错误。我编写的代码为大多数表达式生成了不正确的AST。表达式12-6-4-2*1-1预期的AST{"left":{"left":{"left":{"left":12,"operator":"-","right":6},"operator":"-","right":4},"operator":"-","right":{"left":2,"operator":"*","right":1}},"operator":"-","right":1}生成的AST{

javascript - 在 javascript 中使用 instanceof 运算符是性能问题吗?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭7年前。Improvethisquestion我听说java中的instanceof运算符是一个性能问题,对于Javascript(IE6、IE7、IE8、FF、Chrome、safari等)也是如此吗?任何指向真实论文的链接都会有所帮助。

javascript - + javascript 中表达式前的运算符 : what does it do?

我正在细读underscore.js图书馆,我发现了一些我以前没有遇到过的东西:if(obj.length===+obj.length){...}+运算符在那里做什么?对于上下文,这是一个directlink到文件的那部分。 最佳答案 一元+运算符可用于在JavaScript中将值转换为数字。Underscore似乎在测试.length属性是一个数字,否则它不会等于自身转换为数字。 关于javascript-+javascript中表达式前的运算符:whatdoesitdo?,我们在St

javascript - 运算符 '+' 不能应用于 TypeScript 中的类型 'String' 和 'String'

我是TypeScript的新手,正在尝试使用它。但我面临一个有线问题。当我尝试使用+运算符连接两个String类型时,出现错误运算符“+”不能应用于类型“String”和“String”我的代码快照是varfirstName:String='Foo';varlastName:String='Bar';varname=firstName+lastName;如果我使用string而不是String或添加额外的''它工作正常。我检查过,在JavaScript中我们可以在两个String对象上使用+那么为什么它在TypeScript中显示错误?是错误还是功能?我肯定错过了什么。详细解释表示赞赏

javascript - minus minus 小于 "-->"运算符如何在 JavaScript 中工作?

这个问题在这里已经有了答案:Whatisthe"-->"operatorinC++?(29个答案)关闭6年前。while(max-->min){console.log(n);}我知道-->会降低值,但是-->在官方文档中有记载吗?