为什么调用对象的属性在 for of 循环中不起作用?



在这段代码中,我试图随后对数组中的所有对象从对象调用.password属性。然而,如果我在";对于";循环,它不起作用。但从";对于";循环时,不会出现任何问题,并且工作正常。

它为什么不能正确地施展魔法是有原因的吗?

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

使用for ... of语句迭代数组的元素,然后可以使用此对象获取密码。

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
}

相关内容

  • 没有找到相关文章

最新更新