• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Iterowanie po obiekcie - brak poprzednich obiektów

0 głosów
517 wizyt
pytanie zadane 10 lutego 2018 w JavaScript przez Alterwar Dyskutant (7,650 p.)

Witam,

możecie mi powiedzieć dlaczego pętla po obiekcie wywołuje tylko 12 obiektów? Powinna wywołać 72 obiekty. Chodzi konkretnie o ten kawałek kodu:

function balconyCreateSeats(){

		var balcony_seats_object = {};

		var temp_place_x = 0;
		var temp_place_y = 0;

		var start_draw_x = 170;
		var start_draw_y = 160;
        
       // balcony number --> 6
		for(var i = 0; i < balcony_number_row; i++){

			//balcony capacity ---> 12
			for(var j = 0; j < baclony_capacity_seats; j++){

				balcony_seats_object[j] = {
					row: i,
					seats: j,
					color: '#000000',
					font: '18px serif',
					pos_x: 340 + ((j + temp_place_x) - start_draw_x),
					pos_y: start_draw_y + (i + temp_place_y),
					width: seats_width,
					height: seats_height,
					checked: false

				};


				ctx.strokeRect(balcony_seats_object[j].pos_x, balcony_seats_object[j].pos_y, balcony_seats_object[j].width, balcony_seats_object[j].height);
				temp_place_x += seats_width + seats_margin;

			};

			temp_place_y += seats_width + seats_margin;

			start_draw_x += baclony_capacity_seats * (seats_width + seats_margin);

		};


        // tutaj sprawdzam ilosc obiektow
		for(var v in balcony_seats_object){

			console.log(balcony_seats_object[v]);

		};


	};

 

Tutaj załączam kod, w console logu będzie widoczne.

https://jsbin.com/tacowerage/edit?html,js,console,output

1 odpowiedź

0 głosów
odpowiedź 10 lutego 2018 przez niezalogowany
wybrane 10 lutego 2018 przez Alterwar
 
Najlepsza

5 razy nadpisujesz pierwsze 12 miejsc

balcony_seats_object[j] <- brakuje zależności od i

komentarz 10 lutego 2018 przez Alterwar Dyskutant (7,650 p.)
edycja 10 lutego 2018 przez Alterwar
// balcony_seats_object[i][j]//
balcony_seats_object[i, j] = {
					row: i,
					seats: j,
					color: '#000000',
					font: '18px serif',
					pos_x: 340 + ((j + temp_place_x) - start_draw_x),
					pos_y: start_draw_y + (i + temp_place_y),
					width: seats_width,
					height: seats_height,
					checked: false

				};

coś takiego?

I w jaki sposób po tym iterować? Cały czas mi zwraca ostatnią pętlę z 12-stoma obiektami

komentarz 10 lutego 2018 przez niezalogowany
const ROWS = 6
const SEATS_IN_ROW = 12

const seats = []
for (let row = 0; row < ROWS; row++) {
	seats[row] = [] // Dla każdego rzędu stwórz tablicę siedzeń
	
	// Dodaj siedzenia do aktualengo rzędu
	for (let seat = 0; seat < SEATS_IN_ROW; seat++) {
		seats[row][seat] = { 
			desc: `row: ${ row }, seat: ${ seat }`
		}
	}
}

console.log(seats)
komentarz 10 lutego 2018 przez Alterwar Dyskutant (7,650 p.)
Dziękuję Ci bardzo za pomoc, nie wpadłem na to :)!

Podobne pytania

0 głosów
1 odpowiedź 860 wizyt
0 głosów
1 odpowiedź 583 wizyt
pytanie zadane 4 września 2019 w Python przez mroczny123 Początkujący (290 p.)
0 głosów
4 odpowiedzi 638 wizyt

93,607 zapytań

142,529 odpowiedzi

322,999 komentarzy

63,097 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...