我在尝试获取某个对象的值时遇到了一点问题。由于这有点难以解释,我将根据我的需要设置一个场景。
{"Gmail": {"example@example.com": "password1", "anotherexample@example.com": "password2}, ...}
我有一个对象(如上所示,我们将称该对象为“已加密”)。我可以通过使用 Object.keys(encrypted)[i]
来获取值“Gmail”,其中 i
代表我正在寻找的索引。我遇到的问题是,如何获得 exaxmple@example.com
或 password1
?
我已经漫无目的地游荡了一段时间,试图弄清楚这一点,寻找答案,但我似乎无法这样做,也无法找到任何不基于数组的东西。任何帮助都很棒,谢谢!
答案 0 :(得分:1)
您可以使用 Object.entries
参考资料:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries
这会将对象转换为可以遍历的 key
- value
数组,示例如下:
const data = {
"Gmail": { "example@example.com": "password1", "anotherexample@example.com": "password2" },
"Gmail2": { "example@example.com": "password1", "anotherexample@example.com": "password2" },
};
Object.entries(data).forEach(([key, value]) => {
const emailProvider = key;
const emailList = Object.entries(value);
console.log({ mail: emailProvider });
emailList.forEach(([email, password]) => {
console.log({ email, password })
})
});