在现有对象中添加新对象的函数

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}。

您遇到的错误是您试图将 属性 分配给第一个创建的字符串