【发布时间】:2021-12-24 02:12:57
【问题描述】:
我对 Javascript 还很陌生,并且对编写一个小东西有一个想法。我们的想法是在这里制作一个 Objekt (kunden),我们有一些客户。在这个 Objekt 中,我有一个现有的客户端 (kunde_1) 和一个方法 (erstellen() )。使用该方法,我想使用客户端计数器向现有的 Objekt (kunden) 添加一个新客户端 (new Objekt)。每次调用函数时,计数器都应该计数。这是我的尝试,但我不知道如何使用我的计数器来创建新客户端。这是我得到的错误:
未捕获的类型错误:无法在字符串“kunde_2”上创建属性“vorname”
是否可以稍微调整我的代码以使其正确,或者我是否走上了完全错误的道路......
let count_kunde = 1; // because i already have one client called kunde_1
let kunden = {
erstellen() {
count_kunde +=1;
let neuer_kunde = `kunden_${count_kunde}`; // the idea was to create a variable that stores "kunde_2" and through DOT Notation add the values via prompt.
neuer_kunde.vorname = prompt("Vorname:"),
neuer_kunde.nachname= prompt("Nachname"),
neuer_kunde.straße= prompt("Straße"),
neuer_kunde.hausnummer= prompt("Hausnummer"),
neuer_kunde.plz= prompt("Plz"),
neuer_kunde.ort= prompt("Ort")
},
kunde_1: {
vorname: "Bengt",
nachname: "Flecks",
straße: "Scheffelstraße",
hausnummer: 33,
plz: 10367,
ort: "Berlin"
}
};
这是解决问题后的新代码,特别感谢@Deivid Ugarte(我的 cmets 是德语):
// Anzahl aktueller Kunden zum Start des Programms
let count_kunde = 1;
// Erstellung des Objektes kunden zum speichern der neu erstellten
Kunden
let kunden = {
kunde_1: {
vorname: "Bengt",
nachame: "Flecks",
straße: "Scheffelstraße",
hausnummer: 33,
plz: 10367,
ort: "Berlin"
}
};
//Funktion zum erstellen eines neuen Kunden
const kunden_erstellen = function() {
count_kunde += 1;
let neuer_kunde = `kunde_${count_kunde}`;
// Erstellung des Objektes kunden.kunde_n wobei n = count_kunde um
im nächsten Schritt die Eigentschaften mit den eingeegebenen Werten
hinzuzufügen
kunden[neuer_kunde] = {};
kunden[neuer_kunde].vorname = prompt("Vorname:"),
kunden[neuer_kunde].nachname = prompt("Nachname"),
kunden[neuer_kunde].straße= prompt("Straße"),
kunden[neuer_kunde].hausnummer= prompt("Hausnummer"),
kunden[neuer_kunde].plz= prompt("Plz"),
kunden[neuer_kunde].ort= prompt("Ort")
};
// Funktionsaufruf zum erstellen eines Kunden
kunden_erstellen();
【问题讨论】: