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}。
您遇到的错误是您试图将属性分配给第一个创建的字符串
推荐阅读
- python - 无法在python的re.findall中使用字符串中的单词
- c++ - 如何找出定义了一些泛型类?
- docker - 当`host.docker.internal`与我的机器上本地运行的服务交互时如何摆脱端口
- django - 如何在django中保存注册用户
- android - 按服务器时间戳查询时,SnapshotListener 无法脱机工作
- dart - 'value' 不能用作 setter,因为它是 final
- flutter - 如何在颤动中设置自定义图标谷歌地图
- algorithm - 如何制作随机路径
- wordpress-login - 如何从外部 php 代码中获取 wordpress 密码?
- android - Android 11 无法获取完整的屏幕截图滚动视图