如何解决为什么在 for of 循环中调用对象的属性不起作用?
在此代码中,我尝试随后使用数组中的所有对象从对象中调用 .password 属性。 但是,如果我在“for of”循环中执行此操作,则它不起作用。 但是在“for of”循环之外,没有出现任何问题并且按预期工作。
它不能正确施展魔法有什么原因吗?
let users = [
{name: "Paul",login: "cheerfullime",password: "qqwerty11"},{name: "Jack",login: "jackdaniels",password: "browser22"},]
let counter = 0;
for (let user of users) {
console.log(user[counter].password);// This one returns an error
counter ++;
}
users[0].password;//But the same thing out of the for of loop works fine
解决方法
let users = [{ name: "Paul",login: "cheerfullime",password: "qqwerty11" },{ name: "Jack",login: "jackdaniels",password: "browser22" }],counter = 0;
for (let user of users) {
console.log(user.password);
counter++;
}
此处,user
是一个对象,您正尝试使用数组表示法访问其属性。你应该使用:
users.forEach (function (user) {
console.log(user.password);
}
)
或者,您也可以这样做:
for (let counter=0; counter<users.length;counter++) {
console.log(users[counter].password); // use 'users' instead of user
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。