在 Javascript 中运行时(动态)在对象内创建对象

我实际上只是用vanilla 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))

    });

}    


慕哥6287543
浏览 89回答 2
2回答

宝慕林4294392

Array.prototype.push仅适用于数组。如果你有一个对象数组,你可以使它工作得更好一点,但你会失去查找用户的能力,而不必遍历数组来找到它。如果您真的想通过此路由,您可以做的是找到最后一个用户编号并将其创建为下一个对象的属性。像这样的东西。const newUserNumber = Object.keys(users).length + 1const user = 'user' + newUserNumberusers[user] = input.value希望这有帮助!

肥皂起泡泡

试试这个,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))    });}    
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript