Я пытаюсь создать директиву для поиска суммы наибольшего целого числа в данных ответа.
директива: -
.filter('sumByKey', function() {
return function(data, key) {
if (typeof(data) === 'undefined' || typeof(key) === 'undefined') {
return 0;
}
var sum = 0;
for (var i = data.length - 1; i >= 0; i--) {
sum += parseInt(data[i][key]);
}
return sum;
};
Выше я могу сделать сумму всех значений, присутствующих в data
.Существует функция javascript для вычисления, чтобы найти наибольшее значение и сделать сумму наибольшего значения пример: -
var array = [5, 5, 7,7,8,8];
var max = array[0], total = 0;
array.forEach((a)=>{
if(a==max){
total+=max;
}
else if(a>max){
max = total = a;
}
});
console.log("total:"+total);
Так что здесь data
- это мой array
.Хочешь сделать такой же расчет.Я пытался реализовать это в директиве , но получил ошибку.
РЕДАКТИРОВАТЬ: -
.filter('sumByKey', function() {
return function(data, key) {
if (typeof(data) === 'undefined' || typeof(key) === 'undefined') {
return 0;
}
for(let child of data.DeploymentTime) {
console.log(child);
var i = child;
var array = [].slice.call(i);
var max = array, total = 0;
array.forEach((a)=>{
if(a==max){
total+=max;
}
else if(a>max){
max = total = a;
}
});
return total;
});
Я получаю is not iterable
Ошибка JavaScript