Loading...
TomaTomov_91 avatar TomaTomov_91 9 Точки

NaN judge

Здравейте! При решение на задачата : 

Изпит по "Програмиране за начинаещи" – 26 март 2016

Задача 1. Зеленчукова борса

function func (arr) {
    arr = arr.map(Number);
    let vegPrice = arr.shift();
    let fruitPrice = arr.shift();
    let vegKilos = arr.shift();
    let fruitKilos = arr.shift();
    let result = (vegPrice*vegKilos + fruitPrice*fruitKilos) / 1.94;
    return result;
}

ми дава оутпут - NaN за всички тестове. Може ли някой да ме ориентира, къде по-точно греша? Благодаря Ви!
Тагове:
0
Programming Basics
fiherLuci avatar fiherLuci 225 Точки

Изпечатай си с console.log(); променливите и виж дали са числа.Ако някоя не е число просто сложи Number(arr.shift()); (препоръчително е да го сложиш на всичките, защото мисля, че arr.map(Number); е грешно, но в момента не мога да го проверя. 

 

П.С-  Тази тема си я сложил в Основи на програмирането, но ако не се лъжа езика е JavaScript и няма основи на програмирането с JavaScript и още повече, че не се работи с масиви в този курс. Хубаво е да слагаш въпросите си в правилната категория, за да може по-лесно да получиш отговор. 

0
djc_bg2015 avatar djc_bg2015 923 Точки

.map(Number) ще мине по всички елементи в колекцията и ще ги направи числа, тези които не могат да се парснат към число ще са NaN

0
TomaTomov_91 avatar TomaTomov_91 9 Точки

Всяко число ми е 'number'. Проверил съм.  map(Number) си работи без проблем.
Темата съм я сложил тук, защото в основи на програмирането, както виждам, са позволени и други езици освен C#, а аз предпочитам да използвам JavaScript.

П.С. - изходът в Chrome(Console) ми е без грешки.

0
fiherLuci avatar fiherLuci 225 Точки

всяка променлива е число. Ама проверил ли си какво ти се въвежда в програмата ? 

function(arr){

console.log(arr);

}

въведи това и ще видиш, че не получаваш като вход, това което си мислиш, че получаваш.

0
JivkoJelev avatar JivkoJelev 235 Точки

Кода ти ми дава 100/100.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.