let users = {
142201801: {
name: "Pankaj Jaiswal",
address: "Om sai rcm shopy , 400089",
accountType: "Saving",
deposits: 20000,
withdraws: 15000,
balance: 5000
},
142201802: {
name: "John Deo",
address: "Om sai rcm shopy , 400089",
accountType: "Saving",
deposits: 20000,
withdraws: 15000,
balance: 5000
}
};
let accountNumber_inital = 142201805;
function accountMaker() {
let accountNumber = accountNumber_inital + 1;
let name = document.getElementById("userName").value;
let address = document.getElementById("userAddress").value;
let type = document.getElementById("accoutType").value;
console.log("Account made");
}
我有一个用户对象,我已经通过硬编码添加了2个用户。
我的对象是嵌套对象,第一个键是用户帐号,我将其数据嵌套在其他对象中。 我要从输入的字段中添加其他用户。我接受用户名,地址和帐户类型。
我想将数据附加到我的用户对象之后,紧跟在其他用户之后。我已经尝试过添加,但是它给我.append的错误不是function。
答案 0 :(得分:4)
您有一个JavaScript对象,没有列表或数组,因此无法推送到该对象。但是,您可以使用其关联值定义一个新键,如下所示:
users[accountNumber] = {
name,
address,
accountType: type,
deposits: 0,
withdraws: 0,
balance: 0
};
如果您要删除一个对象,则可以
delete users[accountNumber]
重要的是要记住,像您这样的JavaScript对象实际上可以充当字典(键/值对),其中数组只是一个列表。如果您想要列表的行为,则可以稍微更改对象定义,如下所示:
let users = [
{
accountNumber: '123',
otherFields: ''
}
];
users.push({accountNumber: '1234', otherFields: 'test'});
但是,您将失去直接通过帐号访问对象的能力,这取决于最适合您的要求。
答案 1 :(得分:0)
您不能append
,因为它是一个对象,但是您可以使用Object.assign
https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Object/assign来添加新创建的对象
或者只是users[accountNumber] = {yourObject}
答案 2 :(得分:0)
使用append
,您可以使用将新项(用户)添加到当前对象(用户)的方式,如下所示。
function accountMaker() {
let accountNumber = accountNumber_inital + 1;
let name = document.getElementById("userName").value;
let address = document.getElementById("userAddress").value;
let type = document.getElementById("accoutType").value;
console.log("Account made");
// add to the users dictionary
users.accountNumber = {
name: name ,
address: address ,
accountType: type ,
deposits: 0,
withdraws: 0,
balance: 0
}
}
答案 3 :(得分:0)
您可以按照以下方式操作:
servicename