Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Получите произведение всех чисел в массиве, используя Array.reduce. Не обрабатывайте (https://javascript.ru/forum/misc/75713-poluchite-proizvedenie-vsekh-chisel-v-massive-ispolzuya-array-reduce-ne-obrabatyvajjte.html)

Marson 31.10.2018 19:07

Получите произведение всех чисел в массиве, используя Array.reduce. Не обрабатывайте
 
var arr = ['string', 67, {}, null, 2, "54"];

var result = arr.reduce(function(previousValue, currentValue){
if(typeof(previousValue)==='number' && typeof(currentItem)==='number'){
return previousValue*currentItem;

}
})
console.log(result);

Подскажите пожалуйста как правильно проверить параметры и запустить нужные в reduce?

рони 31.10.2018 19:20

Marson,
var arr = ['string', 67, {}, null, 2, "54"];
var result = arr.reduce(function(previousValue, currentValue){
if(typeof(currentValue)==='number'){
previousValue*=currentValue;
};
return previousValue
 }, 1)
 alert(result);

j0hnik 31.10.2018 19:23

var arr = ['string', 67, {}, null, 2, "54"];

var result = arr.reduce(function(previousValue, currentValue){
return typeof currentValue == 'number' ? previousValue * currentValue : previousValue;
},1);
console.log(result);

"54" конвертировать надо?

Marson 31.10.2018 19:30

Спасибо огромное, помогли понять:dance:

Marson 31.10.2018 22:31

Благодарю, но конвертировать я умею


Часовой пояс GMT +3, время: 20:39.