Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Важно помнить, что ревью это про код, а не про автора,
- // цель - получить знания и опыт, причем обоюдная цель, как ревьювера
- // так и автора кода, все ошибаются и ревьювер тоже, идеального кода
- // не существует, попытки его создать - потеря времени, время -
- // невосполнимый ресурс в нашем мире.
- var a = [] //массив карточек, вместо var лучше юзать let, пока просто
- // доверьтесь, разберетесь детально чуть позже, если имя для
- // переменной массива подобрать со смыслом, например cards, то код
- // читать будет гораздо легче, попробуйте, пожалуйста.
- var b = 0 // имя этой глобальной переменной тоже можно наполнить
- // смыслом, например total, moneySum, sum, amount
- a.length = 10 // при размере массива 10 элементов их индексы
- // будут от 0 до 9, при этом всего их будет именно 10
- //0,1,2,3,4,5,6,7,8,9 - здесь 10 чисел (идексов элементов)
- while(true){
- let f = +prompt("vvedi nomer kartochki")
- if(f == 0){break} // выход из цикла, т.е. завершение прораммы
- // при вводе нуля, по условию карточки пронумерованы от 0 до 9
- //"номера мають бути від 0 до 9"
- // у вас выходит 1,2,3,4,5,6,7,8,9 - только девять карточек,
- //с которыми можно работать
- if(f > 10){alert("undefined card"); continue} // если ввести 10
- // то размер массива станет 11, т.к. js добавит туда элемент с
- // индексом 10, и тогда размер массива будет от 0-вого до 10-того = 11 эл.
- // ошибки не возникает, но вы можете убедиться в этом выведя размер
- // массива после ввода числа 10
- if((Boolean(f)) == false){
- alert("undefined card"); continue;
- }
- f = f - 1 // ага.. вот оно че.. это называется "костыль".))
- // т.е. не создание ровных здоровых "ног" а исправление
- //ситуации локальным решением, частенько встречается на практике,
- // но лучше без них стараться обходиться.)
- console.log("f- " + f)
- a[f] = +prompt("skolko polozhit?") // вы сразу кладете
- //введенное значение в массив, лучше сперва его проверить, и не
- // допустить этого если оно не корректн, а попросить пользователя повторить ввод ,
- // иначе это некорректное (не валидное) значение останется в массиве
- // и потом при суммировании появится ошибка или NaN
- console.log("a[f]- " + a[f])
- if((Boolean(a[f])) == false){alert("wrong"); continue;}
- for(let z = 0; z < 10; z++){
- if(a[z] == undefined){continue;}
- b = b + a[z]
- } alert("v summe na vseh kartah " +b)
- b = 0
- // не даю вам конкретных правок, если они вам нужны - скажите, но
- // мне кажется вы сами можете сделать круто.
- // а выход из цикла условием не требуется, но если уж вы хотите
- // его реализовать - это может быть выход не по нулю, а по
- // букве , или цифре 11, или по слову exit, тогда чудо-фокус с
- // уменьшением не понадобится, минус костыль)) Хорошего кода!
Advertisement
Add Comment
Please, Sign In to add comment