Proszę o pomoc z zadaniem o Pętlach For w JavaScript

0

Zadanie:
Po prawej znajduje się kod z tablicą wolnych pokoi w Hotelu u Jacka. True oznacza wolny pokój, a false zajęty. Stwórz pętlę która wyświetli "Pokój " + numer_pokoju + " jest wolny." dla każdego wolnego pokoju.

Podopowiedź: pamiętaj, że tablica ma pierwszy indeks 0, a pokój zaczyna się od numeracji 1, więc do poprawnego wyświetlenia będziesz musiał użyć zmienna + 1 (skorzystaj z dodatkowej zmiennej bo gdy umieścisz zmienna + 1 w tekście to zostanie to potraktowane jak tekst i np. 1 + 2 da "12" zamiast 3). Uważaj też by nie przekroczyć zakresu tablicy: pokoje są od 1 do 10, natomiast indeksy w tablicy od 0 do 9.

Ten Kod już był podany:

var rooms_free = [true, false, false, true, false, true, false, false, true, true]

Taki kod napisałe, ale jest błędny:

var rooms_free = [true, false, false, true, false, true, false, false, true, true]
var numer_pokoju = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
for (var rooms_free = numer_pokoju; rooms_free < 9; rooms_free++){
console.log('Pokój' +numer_pokoju+ 'jest wolny.');
}

Od razu mówię, że jestem początkujący i dopiero nie dawno zacząłem się uczyć tego języka.

0

Weź sobie poczytaj czym są elementy pętli for zamiast pisać na pałę: https://developer.mozilla.org/pl/docs/Web/JavaScript/Guide/Loops_and_iteration
Potem dodaj jeszcze warunek w pętli i gotowe.

TIP: zamist z palca wpisywać ilość elementów tablcy możesz użyć właściwości length, np. rooms_free.length

1
var rooms_free = [true, false, false, true, false, true, false, false, true, true]
var numer_pokoju = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
for (var rooms_free = numer_pokoju; rooms_free < 9; rooms_free++){
console.log('Pokój' +numer_pokoju+ 'jest wolny.');
}
  1. Tablica numer_pokoju jest zbędna
  2. Nie widzę w Twojej pętli żadnego sensu.

for (var i=0; i<długość_tablicy; i++) { //gdzie i = indeks elementu tablicy
operacja na elementach
}
Co do tego zadania:

console.log('Pokój' +numer_pokoju+ 'jest wolny.');

Brakuje kilku spacji oraz warunku sprawdzającego czy pokój jest wolny. Wskazówka - nie trzeba pisać if (coś == true), wystarczy if (coś).
numer_pokoju jest o 1 większy od indeksu, zatem komunikat może wyglądać tak:
console.log('Pokój ' +(i+1)+ ' jest wolny.');

Można też użyć zmiennej numer_pokoju do iteracji po elementach tablicy, ale wtedy należy dokonać kilku zmian:

  1. pętlę zaczynamy od 1, a kończymy <= długość tablicy
  2. elementy sprawdzamy tablica[numer_pokoju-1], a nie tablica[indeks]
0

@"Eryk Partyka (Piesw4)"

Zastanow się nad sensem if(i == true)

PS
Na temat pisze się w postach

1

Z jakiego kursu korzystasz? Z Twoich postów wynika, że nie jest zbyt dobrej jakości, albo Ty nie przykładasz się na tyle żeby wszystko, albo chociaż 80% rzeczy z niego zrozumieć skoro robisz zadanie z kursu, w którym masz za zadanie właśnie odwołać się do konkretnego elementu tablicy używając pętli to zapewne było to tłumaczone przez autora tego kursu. Jeśli z kursu nie korzystasz i robisz zadania po prostu to polecam skorzystać z google bądź zakupić jakąś dobrą książkę o interesującym Cię języku programowania. To o czym piszesz w prośbie o pomoc to czyste podstawy, które znajdziesz w książkach dla początkujących. Nawet jeśli wpiszesz frazę w google Jak wyznaczyć konkretny element tablicy w JS? to uwierz mi, że szybko znajdziesz rozwiązanie. :) Po prostu takie rzeczy rozwiązuje się w pół minuty, dlatego tracisz więcej czasu na napisanie posta na forum niż na rozwiązanie tego problemu.

0

Udało się :)

var rooms_free = [true, false, false, true, false, true, false, false, true, true] 
for (var i=0; i < rooms_free.length; i++){ 
if(rooms_free[i] == true) 
console.log('Pokój ' +(i+1)+ ' jest wolny.'); }

1 użytkowników online, w tym zalogowanych: 0, gości: 1