【发布时间】:2021-05-07 23:06:29
【问题描述】:
我在尝试获取某个对象的值时遇到了一点问题。由于这有点难以解释,我将设置一个符合我需要的场景。
{"Gmail": {"example@example.com": "password1", "anotherexample@example.com": "password2}, ...}
我有一个对象(如上所示,我们将对象称为“加密”)。我可以使用Object.keys(encrypted)[i] 获得值“Gmail”,其中i 代表我要查找的索引。我遇到的问题是,如何获取exaxmple@example.com 或password1?
我已经漫无目的地在它周围徘徊了一段时间,试图弄清楚这一点,寻找答案,但我似乎无法这样做或找到任何不基于数组的东西。任何帮助都很好,谢谢!
【问题讨论】:
-
只是出于好奇,电子邮件帐户列表及其密码有什么用?
-
您无法控制对象属性键的顺序。有已定义的规则,但您无法更改它们,这是一种非常脆弱的设计代码以依赖于该顺序的方式。
-
完全相同的方式:
const gmail = Object.keys(encrypted)[i];,然后是const addresses = Object.entries(gmail);(这将创建[["example@example.com", "password1"], ["anotherexample@example.com", "password2]],即一个数组数组) -
@georg 我正在创建自己的个人密码管理器。目前我正在升级它,我想给它更多的组织。不知道我这样做的方式是否会完全奏效。
-
在这种情况下,您需要以不同的方式组织它。使用像
{ email: "example@example.com", password: "password1" }这样的对象并将其放入数组中。这样您就可以简单地使用data[i].email和data[i].password来获取值。
标签: javascript object javascript-objects