Reputation: 7
I wanna diaplay username which means name + surname somewhere. I've got a function:
function getData(count) {
names = ["Michał", "Jan", "Katarzyna", "Andrzej", "Józef", "Bartek", "Mikołaj", "Tomasz", "Julian", "Brajan", "Dżesika"];////////////// bez var
var surnames = ["Noga", "Kowalski", "Nowak", "Pazura", "Duda", "Komorowski", "Tomczyk", "Józefowicz", "Lechicki", "Goldberg"];
var result = [];
for (var i = 0; i < count; i++) {
var randomNameIndex = Math.floor(Math.random() * names.length);
var randomSurnameIndex = Math.floor(Math.random() * surnames.length);
name = names[randomNameIndex];
var surname = surnames[randomSurnameIndex];
result.push({
name: name,
surname: surname
});
}
return result
}
Then I wanna display a result so I have another function:
function textDisplay() {
//var username = name;
//var username = names[1];
//var username = getData(3);
//$(username) = names[1];
$("#nameDisplay").html(username);
}
And no one of lines in comments works. How can I display these arrays elements properly?
Upvotes: 0
Views: 59
Reputation: 782785
getData()
returns an array of objects. You need to loop over them to get all the names.
function textDisplay() {
var data = getData(3);
var html = "";
$.each(data, function(i, {name, surname}) {
html += `Name: ${name} ${surname}<br>`;
});
$("#nameDisplay").html(html);
}
function getData(count) {
names = ["Michał", "Jan", "Katarzyna", "Andrzej", "Józef", "Bartek", "Mikołaj", "Tomasz", "Julian", "Brajan", "Dżesika"]; ////////////// bez var
var surnames = ["Noga", "Kowalski", "Nowak", "Pazura", "Duda", "Komorowski", "Tomczyk", "Józefowicz", "Lechicki", "Goldberg"];
var result = [];
for (var i = 0; i < count; i++) {
var randomNameIndex = Math.floor(Math.random() * names.length);
var randomSurnameIndex = Math.floor(Math.random() * surnames.length);
name = names[randomNameIndex];
var surname = surnames[randomSurnameIndex];
result.push({
name: name,
surname: surname
});
}
return result
}
textDisplay();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="nameDisplay"></div>
Upvotes: 1