为什么在 for 循环中调用对象的 属性 不起作用?
Why calling a property of an object doesn't work in the for of loop?
在这段代码中,我试图从对象中调用 .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
你用 for ... of
statement 迭代数组的元素,你可以使用这个对象来获取密码。
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
}
在这段代码中,我试图从对象中调用 .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
你用 for ... of
statement 迭代数组的元素,你可以使用这个对象来获取密码。
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
}