Исключение нулевых данных в массиве
Всем привет, встала одна проблема с JS, имеется массив с данными, которые разбираются в цикле, нужно их перемножить между собой, но попадаются ключи равные нулю и тогда умножение не работает. Как можно в цикле указать чтобы пропускались такие значения?
небольшая иллюстрация моего кода, чтобы было понятней о чем речь:
var curr_string = $('.select option:selected');
var price = 0;
$.each(curr_string, function() {
price += parseFloat($(this).attr('price'))
}
в данный момент такой скрипт работает и суммирует значения, но нужно изменить на умножение, но возникает вышеописанная проблема и в результате получаю ноль. Как можно в таком цикле пропускать исключить нулевые значения? Или может вообще по другому стоит сделать? |
|
условие if я пробовал, но тоже результата нет. Может чего-то не так пишу?
$.each(curr_string, function() {
if ($(this).attr('price') != 0) {
price *= parseFloat($(this).attr('price'));
}
});
в результате просто ничего не получаю |
Надеюсь при умножении начальное значение не 0? :D
|
price *= +$(this).attr('price') || 1;
Цитата:
|
Цитата:
начальное значение было 1. Методом проб и ошибок выяснил, что просто нужно было писать вот так:
var price_val = $(this).attr('price');
if (price_val > 0) {
price *= parseFloat(price_val);
}
то есть заменить знак "не равно" на "больше". Не знаю почему "!=" не сработало, но это уже не так важно. В любом случае спасибо за участие:thanks: |
| Часовой пояс GMT +3, время: 20:32. |