簡體   English   中英

在 Javascript 的運行時(動態)在 Object 中創建對象

[英]Create Objects inside an Object at Runtime(Dynamically) in Javascript

我實際上只是用香草 JavaScript 構建一個表單,我需要一些幫助,了解如何在運行時創建這樣的東西,

const users = {
   user1 : { name : "xyz", password : "1234", email : "xyz@gmail.com" },
   user2 : { name : "abc", password : "1111", email : "abc@gmail.com" }
};

我想要這個,因為我使用本地存儲在運行時設置值,但它只設置 user1 值而不是多個用戶,所以請需要一個有用的代碼。 檢查以下代碼是否有效也會很有幫助:

function submitData(inputArray) {
    inputArray.forEach(input => {
        users.push(input.value);
        localStorage.setItem(`${input.id}`, JSON.stringify(users))
    });
}    

嘗試這個,

function submitData(inputArray) {
    inputArray.forEach(input => {
        const userKey = 'user' + (Object.keys(users).length + 1);
        users[userKey] = input.value
        localStorage.setItem(`${input.id}`, JSON.stringify(users))
    });
}    

Array.prototype.push僅適用於 arrays。 如果您有一個對象數組,您可以使這項工作更好一點,但是您將失去查找用戶的能力,而不必遍歷數組來查找它。

如果您真的想通過這條路線獲得 go,您可以做的是找到最后一個用戶編號並將其創建為下一個 object 的屬性。

像這樣的東西。

const newUserNumber = Object.keys(users).length + 1
const user = 'user' + newUserNumber
users[user] = input.value

希望這可以幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM