在现有对象中添加新对象的函数
function to add new Objekt in an existing object
我是 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(我的评论是德语):
// 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();
您需要将neuer_kunde定义为对象let neuer_kunde = {}
,然后将名称分配给对象neuer_kunde.name =
kunden_${count_kunde}。
您遇到的错误是您试图将 属性 分配给第一个创建的字符串
我是 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(我的评论是德语):
// 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();
您需要将neuer_kunde定义为对象let neuer_kunde = {}
,然后将名称分配给对象neuer_kunde.name =
kunden_${count_kunde}。
您遇到的错误是您试图将 属性 分配给第一个创建的字符串