2013-11-14 2 views
0

Я пытаюсь суммировать все время отправки. Но я не думаю, что extjs позволяет использовать = +. Есть ли другой способ достижения моей цели?Как использовать = + в Extjs?

Это то, что я пытаюсь показать: console.log(time=+ time);

ответ

1

ExtJS «просто» JavaScript и нет никакого волшебного отображения =+ к «суммы все из» в JavaScript. Использование представленной формы эквивалентно time = (0 + time) (результат выражения равен 0 + time), что вряд ли полезно.

Либо создайте цикл над «временами» (это должна быть последовательность, такая как массив!) И используйте переменную «sum»; или, лучше, используйте одну из функций/библиотек JavaScript (включая те, которые доступны в ExtJS), которые поддерживают функцию sum или более высокий порядок fold/reduce .

(На самом деле, Ext.Array already has a sum .. как приятно это?)


Пример на странице МЦС для Array.reduceявляется функция суммирования, представленная здесь, с некоторыми изменениями, для ясности:

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

Если товар times последовательности не являются числами, то это может быть использовано (с соответствующим модифицированным FUNC), так как Ext.Array.sum требует последовательности чисел.

Если старые браузеры должны быть нацелены (например, IE 8 или ранее), используйте es5-shim.js и перейдите к более продуктивным вещам.

Смежные вопросы