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

Napisz funkcję... - trochę się pogubiłam rozwiązując zadanie

VPS Starter Arubacloud
+1 głos
281 wizyt
pytanie zadane 17 października 2022 w JavaScript przez Enzo1902 Użytkownik (510 p.)

Napisz funkcję, która przyjmuje dwa argumenty (nazwa i cena produktu), następnie niech stworzy obiekt z tymi elementami i zwróci ten obiekt.

 

Mam coś takiego...

function newArray() {
    let newProduct = ["apple", 3.50]
    
    return newProduct
}

I nie wiem co dalej :/

2 odpowiedzi

+2 głosów
odpowiedź 17 października 2022 przez Comandeer Guru (599,730 p.)

To zadanie można wykonać prościej, bez używania klas:

function createProduct( name, price ) { // 1
	return { // 2
		name, // 3
		price
	};
}
  1. Deklaruję funkcję z dwoma parametrami – name price.
  2. Jedyne, co ta funkcja robi, to zwraca obiekt z przekazanymi argumentami.
  3. Stosuję tutaj skrócony zapis obiektu.

Ten skrócony zapis jest równoznaczny z:

{
	name: name,
	price: price
}

 

0 głosów
odpowiedź 17 października 2022 przez Apled Dyskutant (9,520 p.)
class Product {
  constructor(nazwa, cena) {
    this.nazwa = nazwa;
    this.cena = cena;
    console.log("Object created!"); // -> na potrzeby widoczności, kiedy tworzony jest nowy obiekt
  }
}

function newProduct(n, c) {
	return new Product(n, c); // -> przekazujesz argumenty do konstruktora i za pomocą return zwracasz nowy obiekt. !Musisz go do czegoś przypisać (zmienna, element w tablicy), bo inaczej go zgubisz
}

let p1 = newProduct("apple", 3.5); // -> tworzysz na szytywno nowy obiekt za pomocą funckji.
console.log(p1.nazwa);
console.log(p1.cena);

Tyle wystarczy.

Nie dziwne, że nie wiesz co dalej, skoro nawet nie masz klasy, której obiekty mógłbyś tworzyć.

2
komentarz 17 października 2022 przez Ehlert Ekspert (212,630 p.)
W zadaniu nic nie ma o klasie, tylko o obiekcie. Gdyby zamienił array na lierał obiektowy byłoby ok.
3
komentarz 17 października 2022 przez ScriptyChris Mędrzec (190,190 p.)
Tutaj nie potrzeba tworzyć klasy (chyba, że w pytaniu pominięto ten szczegół z treści zadania). Wystarczy literał obiektu.
komentarz 17 października 2022 przez Apled Dyskutant (9,520 p.)
Jak ktoś nie precyzuje o co mu chodzi to ja się też specjalnie nie będę wysilał. Ostatnio to jest nagminne, że ludzie pytają się o coś aż nazbyt ogólnikowo.

A czy o to chodziło czy nie, to już zweryfikuje autor, wtedy się dowiemy.
1
komentarz 17 października 2022 przez VBService Ekspert (251,270 p.)
edycja 17 października 2022 przez VBService

@Apled; Zawsze można w komentarzu zapytać o doprecyzowanie pytania. wink

Ostatnio to jest nagminne, że ludzie pytają się o coś aż nazbyt ogólnikowo.

IMHO wynika to bardziej z niewiedzy (nie wiedzą jak doprecyzować pytanie) niż ze złej woli (czy lenistwa, niedbalstwa OP-a - choć są wyjątki od reguły, świat nie jest idealnie zero-jedynkowy) laugh.

Zadając dodatkowe pytania można naprowadzić OP-a w jaki sposób może doprecyzować pytanie.

 

P.S. @Enzo1902; lierał obiektowy

komentarz 17 października 2022 przez Comandeer Guru (599,730 p.)

Jak ktoś nie precyzuje o co mu chodzi to ja się też specjalnie nie będę wysilał.

Tylko że w JS-ie praktycznie nikt by nie użył tutaj klasy. Zwróć obiekt to zwróć obiekt.

Podobne pytania

0 głosów
3 odpowiedzi 191 wizyt
pytanie zadane 9 września 2022 w JavaScript przez Enzo1902 Użytkownik (510 p.)
0 głosów
2 odpowiedzi 2,033 wizyt
pytanie zadane 6 grudnia 2019 w C i C++ przez Karolus Użytkownik (510 p.)

92,455 zapytań

141,263 odpowiedzi

319,100 komentarzy

61,854 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.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...