Just nu i M3-nätverket
Gå till innehåll

Går det att använda return så att svaret från en funktion skrivs på två rader?


ljungholm

Rekommendera Poster

Hej jag är som ni förstår helt ny på javascript och försöker här lära mig att använd return.

Har läst mig till att return avbryter ens funktion varför det inte går att använda två return på varandra, vilket jag hade hoppas på.

Min andra tanke är att det kanske går att få till en radbrytning med \n . Om det är fallet så gör jag tydligen på fel sätt ändå.

 

Har ni något förslag på hur jag kan göra för att få utskriften från return att ske på två rader? Mina console.log är där bara för att se hur man kommer åt rätt element.

 

var person = {
  person: true,
  firstname: '*****',
  lastname: 'Ljungholm',
  age: 34,
  family: ["#####"]
};
console.log(person.person);
console.log(person.firstname);
console.log(person.family[0]);

function printPerson(){

    return 'Fullname:' +' '+ person.firstname +' '+ person.lastname +', ' + 'Age: ' + person.age + \n + 'Family: ' person.family;
          
}

Länk till kommentar
Dela på andra webbplatser

Javascript används normalt tillsammans med html är där betyder \n ingenting, utan det är <BR> som betyder radbryt.

 

Vad menar du med att använda två return? Du kan ju göra vilkor:

 

if (detta == 1) {

return(1);

}

else

{

return(2);

}

Länk till kommentar
Dela på andra webbplatser

Javascript används normalt tillsammans med html är där betyder \n ingenting, utan det är <BR> som betyder radbryt.

 

Vad menar du med att använda två return? Du kan ju göra vilkor:

 

if (detta == 1) {

return(1);

}

else

{

return(2);

}

Ja, jag har inte kommit så långt att jag har börjat använda javascriptet ihop med html än utan just nu bekantar jag mig vad jag kan få fram för resultat i konsolen. Och jag tänkte att det skulle vara användbart att kunna lyfta framhäva olika svars-data från en funktion genom att visa dem på olika rader. Men det verkar nästan för svårt så kanske jag har missförstått den skoluppgift som jag har att lösa. se http://mah-webbutv.github.io/courses/da281a_da265a/assignments/uppg2.html uppg 7

Länk till kommentar
Dela på andra webbplatser

Det är väl meningen att PrintPerson ska skriva ut (print) informationen inte returnera den.

I vår kurs har vi gått från att behandla console.log till att nu bekanta oss med funktioner och kommandot return, i ledningen hintas det om att skriva ut svaret på två rader. Men då det verkar för svårt för mig så, jag får släppa det nu när det blir helg. Har inte riktigt blivit klokt på om return stoppar hela ens program eller om det går att nästla ihop två loopar med varandra ifall return bara avbryter en loop. I så fall får jag nog lämna in mitt svar där jag skriver ut den datan som frågas efter på en rad istället för två.

Länk till kommentar
Dela på andra webbplatser

Thomas Tydal

\n är ett tecken precis som vilken annan bokstav som helst, så du måste ha det inom apostrofer/citationstecken om du ska skriva ut det på skärmen, alltså:

 

'\n'

Länk till kommentar
Dela på andra webbplatser

Thomas Tydal

break; används för att avbryta en loop.

 

continue; används för att avbryta aktuellt varv i loopen (hoppar direkt till nästa varv).

 

return avslutar funktionen.

 

Men i och med att du lärt dig vad ett objekt är i Javaskript så kan du ju faktiskt returnera ett objekt, och det kan ju innehålla flera variabler som du kan ge olika värden på olika ställen i koden.

Länk till kommentar
Dela på andra webbplatser

Jag håller med om att man ska returnera objektet med data, och sedan behandla objektet som man vill, 

Men som uppgiften lyder borde du hellre göra två console.log, inte två returns (som inte går)

Länk till kommentar
Dela på andra webbplatser

Som jag förstår är det vad som står i din uppgift som är kriteriet för lösningen. Har läst igenom uppgiften nu och det står faktiskt inte att printPerson ska returnera något så jag tror inte att just denna deluppgift handlar om det:

 

 

 

Skapa funktionen printPerson som tar emot ett objekt som parameter och skriver ut dess attribut (formatet på utskriften får ni bestämma själva)

 

Notera "bestämma själva". Du behöver inte skriva ut på 2 rader även om exempeluppgiften gör det (min personliga tolkning).

 

Enligt uppgiften ska printPerson ta person-objektet som parameter. Kolla på exemplet. Där framgår att man matar printPerson med "person" så att funktionen får något att skriva ut. Så dina console.log bör finnas inne i den funktionen och skriva ut datat som kommer in i den i lämpligt format.

 

Poängen är att du kan skicka in alla möjliga personers objekt och funktionen kommer snällt skriva ut dem likväl. T.ex printPerson(person1)printPerson(person2) etc.

Länk till kommentar
Dela på andra webbplatser

  • 1 month later...

Tack för alla bra svar på mitt problem, när jag satt med uppgiften då trodde jag att console.log inte var okey längre och det var return som gällde istället.

Men de sista uppgifterna som handlade om objekt fann jag inget annat råd än att använda just console.log 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...