user = {
lastName: "Jones",
phone: 12345,
email: "mike@gmail.com",
name: "Mike"
}
for(i = 0; i < Object.keys(user).length; i++) {
theKey = Object.keys(user)[i]
console.log(user.theKey)
}
目前的输出是:
undefined
undefined
undefined
undefined
预期是:
Jones
12345
mike@gmail.com
Mike
我知道还有其他方法可以做到,但我想知道我这样做的问题是什么?
Object.keys(user)[i]
返回
lastName
phone
email
name
所以我不明白为什么它会以点符号返回undefined。我该怎么做才能以这种方式返回此对象的值?
答案 0 :(得分:1)
没有像&#39; theKey&#39;在&#39;用户&#39;对象
尝试这个
console.log(user[theKey])
答案 1 :(得分:0)
我相信你可以做Object.values而不是Object.keys,我也认为你不需要theKey变量,我想你可以只做console.log(Object.values [i])
答案 2 :(得分:0)
您可以使用Object.entries获取密钥和值。你也可以反对。但是你必须改变它。见下文。
user = {
lastName: "Jones",
phone: 12345,
email: "mike@gmail.com",
name: "Mike"
}
Object.keys(user).map((e) => console.log(`key=${e} value=${obj[e]}`));
Object.entries(user).forEach(([key, value]) => console.log(`key=${key} value=${value}`));