Proszę o pomoc z zadaniem o Tablicach

0

Nie mogę sobie poradzić z zadaniem z języka JavaScript, w ogóle nie rozumiem zadania
Zadanie:
Pamiętasz jak na początku pisaliśmy zadanie w którym do 3 zmiennych zapisywaliśmy czy pokój jest zajęty, czy wolny? Teraz sprawa nieco się komplikuje ponieważ Jacek zainwestował w dodatkowe pokoje i ma ich aż 10. Pisanie 10 zmiennych byłoby nieco męczące. Napisz kod który w tablicy 10-elementowej (indeksy od 0 do 9) przekaże i wyświetli następujące informacje: zajęte są pokoje 1, 2, 3 i 7, pozostałe są wolne. Wolne oznacz wartością true, zajęte wartością false.

Podpowiedź: żeby wyświetlić tablicę w JavaScript wystarczy przekazać ją jak tekst (np. console.log(my_array); ).
Taki kod mam już podany:

var my_array = [];
console.log(my_array);

A tyle zrobiłem, ale ten kod jest zły:

var my_array = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"];
var zajete = my_array[0, 1, 2, 6];
console.log(zajete);
0

a nie lepiej przeczytac podstawy jakiegos kursu? Szczegolnie odnosnie tablic?

2

Wolne oznacz wartością true, zajęte wartością false.

Skoro masz podane w poleceniu jak zrobić, to czemu tworzysz tablicę łańcuchów znakowych (aka "stringów") ? I czemu dwie, skoro wystarczy jedna? Nie mówiąc już o tym, że takie coś:

my_array[0, 1, 2, 6];

chyba nigdzie by nie przeszło.

0

Dalej nwm jak to napisać, mam tylko tyle, ale pewnie wszystko jest źle:

var my_array = (10);
console.log(wolne, zajete);
var wolne = true;
var zajete = false;
var wolne = my_array[0] [1] [2] [6];
var zajete = my_array [3] [4] [5] [7] [8] [9];
0
Eryk Partyka (Piesw4) napisał(a):

Dalej nwm jak to napisać, mam tylko tyle, ale pewnie wszystko jest źle:

var my_array = (10);
console.log(wolne, zajete);
var wolne = true;
var zajete = false;
var wolne = my_array[0] [1] [2] [6];
var zajete = my_array [3] [4] [5] [7] [8] [9];

Jest napisane w tablicy a nie w liście, więc spokojnie możesz:

var pokoje = {
0: true,
1: false,
2: true
}

Gdzie numerki do indeks i powiedzmy numer pokoju (+1) a wartość w środku to czy zajęty czy wolny

0

łap naklepane na szybko tylko dla zobrazowania https://codepen.io/schadoow/pen/ZJKqQP

let hotel = _.fill(Array(10), false)
 //funckja z lodasha która po prostu generuje 
 //wypelnioną tablice false'ami możesz utworzyć ją ręcznie
let book = function(roomNr){
  hotel[roomNr] = true;
}

let getFreeRooms = function(){
  let ids = [];
  hotel.forEach((room, i)=>{
    if(!room){
      ids.push(i);
    }
  });
  return ids;
}
book(1);
book(5);
console.log(getFreeRooms());
3

Zgaduję, że chcą po prostu:

var my_array = [
  false,
  false,
  false,
  true,
  true,
  true,
  false,
  true,
  true,
  true,
];
console.log(my_array);

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