Entschuldigung für den verwirrenden Titel, aber ich bin mir nicht sicher, wie ich das allein im Titel erklären soll. Ich möchte ein neues Array aus zwei anderen Arrays mit Wörtern zwischen den beiden erstellen. Mit anderen Worten, ich möchte im Grunde Folgendes erstellen:
Var author_title = ["Autoren [i] haben Bücher [i] geschrieben"];
Ein Wert des Arrays wäre also "Tolstoi hat Krieg und Frieden geschrieben". Offensichtlich funktioniert der obige Code nicht, sonst wäre ich nicht hier. Wie kann ich diese beiden Arrays so kombinieren? Hier ist der Code, den ich bisher habe, abzüglich einiger HTML-Inhalte.
var books = ["War and Peace","Huckleberry Finn","The Return of the Native","A
Christmas Carol","Exodus"];
var authors = [];
for (var i = 0; i < books.length; i++)
{
var name = prompt("What is the last name of the author who wrote " +books[i]+
"?");
authors.push(name);
}
document.write("***************************");
for (var i = 0; i < books.length; i++)
{
document.write("<br>");
document.write("Book: "+books[i]+ " Author: "+authors[i]);
}
document.write("<br>");
document.write("***************************");
for (var i = 0; i < books.length; i++)
{
var author_title = ["authors[i] wrote books[i]"];
}
1
Lucas Smallwood
19 Apr. 2018 im 19:31
3 Antworten
Beste Antwort
Ersetzen
for (var i = 0; i < books.length; i++)
{
var author_title = ["authors[i] wrote books[i]"];
}
Mit
var author_title = [];
for (var i = 0; i < books.length; i++)
{
author_title.push(authors[i] + " wrote " + books[i]);
}
3
Ashok Bhaskar
19 Apr. 2018 im 16:37
const authorTitle = books.map((book, i) => `${authors[i]} wrote ${book}`);
1
ilsotov
19 Apr. 2018 im 16:40
Sie können dies auch mit map
etwas eleganter lösen.
const books = ["War and Peace","Huckleberry Finn"];
const authors = ["Leo Tolstoy", "Mark Twain"];
const author_title = books.map((book, i) => `${authors[i]} wrote ${book}`);
console.log(author_title)
0
AnilRedshift
19 Apr. 2018 im 16:42