Причина, по которой ваш forEach l oop не работает, заключается в том, что вы передаете ему функцию, которая выглядит следующим образом:
function f(user, password) {
password == 'examplepassword';
user == 'someuser';
}
Ваша функция принимает неправильные параметры. forEach
перебирает массив и передает каждый элемент массива функции, которую вы ему передаете. Вместо этого функция должна быть написана следующим образом:
function f(item) {
item.password == 'examplepassword';
item.user == 'someuser';
}
Таким образом, вы захотите переписать свой код, чтобы он был больше похож на
db = [{username: 'a', password: 'abc'}, {username: 'b', password: 'bca'}]
db.forEach(function(user) {
console.log("user " + user.username + " has password " + user.password);
})
/* Output:
user a has password abc
user b has password bca
*/
Дополнительный кредит:
Вы можете найти подробности в документации для forEach . Функция, которую вы передаете forEach, также может иметь два других аргумента: nº элемента, которому она в данный момент передана, и исходный массив.
let a = ['a', 'b', 'c']
function f(item, position, array) {
console.log("The letter " + item + " is in position " + position)
console.log("array[position] == " + array[position])
}
a.forEach(f);
/* Output:
The letter a is in position 0
array[position] == a
The letter b is in position 1
array[position] == b
The letter c is in position 2
array[position] == c
*/