Problem ze zmianą stringa na value

0

Cześć, jestem tu totalnie nowy i mam problem pewnie banalny ale nie mogę znaleźć nigdzie odpowiedzi jak sobie z tym poradzić.
Dokładniej to mam taki kod:

alert("Witaj w spisie ludności");
let spis = [];
let totalSum = 0;
let ages = [];
let items = "";
do{
    let name = prompt("Podaj imię");      
    let age = parseInt(prompt("Podaj wiek: "));
    let sum = spis.length;
    spis.push( {name: name, age: age, sum: sum});
    userSelection = confirm("Dodać więcej osób?");
}
while(userSelection==true);
for(i=0;i<spis.length;i++){
    totalSum += spis[i].sum;
    items += spis[i].name+", ";
}
alert("Dodałeś " +items+ ". Ilość osób to: " + spis.length + ".");
console.log("Cześć" + spis[0]) //naprawić tą linię

Wszystko fajnie działa ale na koniec chcę aby w konsoli pojawiało się np. Cześć Marek, masz 30 lat. Dane name i age mają być wyciągane z tego co wpisze użytkownik w prompt. Niestety ale jak dodam kilka imion to zmienia się w jednego stringa. Pytanie jak to teraz naprawić? Proszę o pomoc

0
maras110 napisał(a):

Cześć, jestem tu totalnie nowy i mam problem pewnie banalny ale nie mogę znaleźć nigdzie odpowiedzi jak sobie z tym poradzić.
Dokładniej to mam taki kod:

alert("Witaj w spisie ludności");
let spis = [];
let totalSum = 0;
let ages = [];
let items = "";
do{
    let name = prompt("Podaj imię");      
    let age = parseInt(prompt("Podaj wiek: "));
    let sum = spis.length;
    spis.push( {name: name, age: age, sum: sum});
    userSelection = confirm("Dodać więcej osób?");
}
while(userSelection==true);
for(i=0;i<spis.length;i++){
    totalSum += spis[i].sum;
    items += spis[i].name+", ";
}
alert("Dodałeś " +items+ ". Ilość osób to: " + spis.length + ".");
console.log("Cześć" + spis[0]) //naprawić tą linię

Wszystko fajnie działa ale na koniec chcę aby w konsoli pojawiało się np. Cześć Marek, masz 30 lat. Dane name i age mają być wyciągane z tego co wpisze użytkownik w prompt. Niestety ale jak dodam kilka imion to zmienia się w jednego stringa. Pytanie jak to teraz naprawić? Proszę o pomoc

console.log(`Cześć ${spis[0].name} masz ${spis[0].age} lat`);

?

0

@maras110: spis[0] przechowuje {name: name, age: age, sum: sum}, a ty potrzebujesz tylko name, więc powinieneś użyć spis[0].name. Tak, jak to pokazuje @Descendant. Co do tych "dziwnych" znaczków w console.log to tu masz ich objaśninie https://developer.mozilla.org/en-US/docs/Learn/JavaScript/First_steps/Strings#concatenating_strings. W skrócie pozwalają łatwo i przejrzyście umieścić wartość zmiennej w stringu.

0

Było jakieś rozwiązanie wyżej?

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