Skocz do zawartości
jensej

Node.js tablica obiektów

Polecane posty

Witam.

Mam taka strukturę klasy:

var Game = {
    _id: null,
    
    create: function(id) {
       this._id = id
    },
    join: function() {
        
    },
    end: function() {
        
    }
};

Potrzebuję stworzyć tablicę obiektów tej klasy.

Ale niestety mogę stworzyć tylko 1 obiekt. Poprzez

Game.create(123);

Próbowałem czegoś takiego

obj1 = new Game.create(223); 
obj2 = new Game.create(222);

Jednak niestety to nie działa. Wyniki jaki otrzymuję to:

create {}

Czy moja struktura klasy jest zła?

 

 

edit:

pomyliłem działy, proszę o przeniesienie.

 

Edytowano przez jensej (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Nie znam node.js, znam ecmascript 5.1 i na podstawie tego piszę:

var tab = [];

tab.push(Game.create(222));
tab.push(Game.create(232));
tab.push(Game.create(422));
tab.push(Game.create(522));
tab.push(Game.create(622));

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

 

Nie znam node.js, znam ecmascript 5.1 i na podstawie tego piszę:

var tab = [];

tab.push(Game.create(222));
tab.push(Game.create(232));
tab.push(Game.create(422));
tab.push(Game.create(522));
tab.push(Game.create(622));

no właśnie próbowałem też i zwraca undefined..

Nie wiem ocb./.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Może dlatego że create nic nie zwraca?

Po co masz : po create i reszcie w definicji obiektu? Albo czegoś ja nie wiem co może dodali w ecmscript 6 ale w ogóle wygląda mi to że źle stworzyłeś klasę.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Witam.

Mam taka strukturę klasy:

Potrzebuję stworzyć tablicę obiektów tej klasy.

 

Zobacz coś takiego:

<script type="text/javascript"> 

class MyGame  {

	constructor(_id) {
		this.myid = _id;
	}

	sayName() {
		return 'Hi, I am a ' + this.myid + '.';
	}

	mySum(_var2) {
		var jakasuma = _var2+this.myid;
		return 'Suma dodawania: '+ jakasuma + '...';
	}

}
var myTab = [];

//obj1  = new MyGame(1);
//obj2  = new MyGame(2);
//obj2.sayName();
//obj1.sayName();

for(var jj = 0; jj < 10; jj++)
{
	myTab.push(new MyGame(jj));
}


for(var jj = 0; jj < myTab.length; jj++)
{
	console.log('> ' +myTab[jj].sayName());
	console.log('> ' +myTab[jj].mySum(jj));
}

</script>

I wyjście z NODE

 

nodejs myclass.js

> Hi, I am a 0.

> Suma dodawania: 0...

> Hi, I am a 1.

> Suma dodawania: 2...

> Hi, I am a 2.

> Suma dodawania: 4...

> Hi, I am a 3.

> Suma dodawania: 6...

> Hi, I am a 4.

> Suma dodawania: 8...

> Hi, I am a 5.

> Suma dodawania: 10...

> Hi, I am a 6.

> Suma dodawania: 12...

> Hi, I am a 7.

> Suma dodawania: 14...

> Hi, I am a 8.

> Suma dodawania: 16...

> Hi, I am a 9.

> Suma dodawania: 18...

 

 

Suma dodawania ech .. masło maślane, ale jako przykład "javascript es6 class" działa

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×