0

我试图总结所有提交的时间。但我不认为 extjs 允许使用 =+。有没有其他方法可以实现我的目标?

这就是我想要展示的:console.log(time=+ time);

4

1 回答 1

1

ExtJS 是“只是”JavaScript,在 JavaScript 中没有从=+“总和”到“总和”的神奇映射。使用呈现的形式等价于time = (0 + time)(表达式的结果是0 + time),这几乎没有用处。

要么在“times”上创建一个循环(它应该是一个序列,比如一个数组!)并使用一个“sum”变量;sum或者,更好的是,使用支持或更高阶fold/reduce函数1的 JavaScript 函数/库之一(包括 ExtJS 中可用的那些)。

(事实上​​,Ext.Array 已经有一个sum.. 这有多好?)


1 MDC 页面上的示例一个求和函数,为清楚起见,此处进行了一些修改:Array.reduce

var times = [0,1,2,3,4];
var sum = times.reduce(function(runningSum, number){
  return runningSum + number;
}, 0);

如果times序列中的项目不是数字,则可以根据需要使用数字序列(通过适当修改的函数)Ext.Array.sum

如果必须针对较旧的浏览器(例如 IE 8 或更早版本),请使用es5-shim.js并继续进行更高效的工作。

于 2013-11-14T07:00:01.080 回答