Професионална програма
Loading...
Angelovasilviya avatar Angelovasilviya 3 Точки

Javascript -> While

Здравейте!

в следния код с while цикъл спира да печата в момента, в който намери първото число, отговарящо на условието (в примера '93' ). Има ли начин да ми провери и останалите и да ги отпечата?

function solve(args) {

let i = 0;

let num = Number(args[i]);

while(num < 1 || num > 100) {

i++;

console.log("Invalid number!");

num = Number(args[i]);

}

console.log(`The number is: ${num}`)

}

solve([-22, 401, 93, 27, - 16, 307, 1])

0
Programming Basics
Jeliozver avatar Jeliozver 356 Точки

Ами след като стигне до число, което отговаря на условието излиза от while цикъла изпечатва го и програмата приключва. Освен след като отпечата да извикаш пак фунцията като подадеш като масив останалите цифри, но е напълно безсмислено.

По-добре ще е както е казал колегата

for (let num of args) {
    if (num < 1 || num > 100) {
        console.log("Invalid number!");
    } else {
        console.log(`The number is: ${num}`)
    }
}
0
Angelovasilviya avatar Angelovasilviya 3 Точки

Да, с for цикъла ще стане. Чудих се дали в While мога да ползвам нещо като 'continue', за да ми продължи проверката. Благодаря ви за отговорите.

0
Jeliozver avatar Jeliozver 356 Точки

Ами освен да е while(true) и вътре да правиш проверките, но така трябва да имаш и допълнителна проверка за това кога са се извъртели числата , за да break-неш и пак става ненужно усложняване.

0
TeodorStefanovPld avatar TeodorStefanovPld 1278 Точки

има как да стане, просто с друга променлива ще си проверяваш count-a примерно и когато count= args.count/lenght break и ще си излезе примерно

num count=0

while(count<args.length)

count++

i вътре ти проверката,но иначе с проверката в while вианги ще излезе при първия случай,грешно си построила while цикъла просто,

 

0