Я напишу это в ответе, потому что мне нужно показать вам некоторый код, хотя мы еще не совсем выяснили, что не так с вашим кодом.
Во-первых, отображаемая ошибка означает, что некоторый код пытается повторить что-то, что не является итерируемым. Если ваше утверждение верно, что ошибка происходит от for/of
l oop, то это говорит о том, что books
не является итерируемым, следовательно, не объектом Map.
Вы можете видеть это Простой пример: если books
является объектом git Map
, то ваш код работает нормально. Вы можете запустить его прямо здесь, в этом фрагменте, и увидеть, что он работает, если books
является правильным Map
объектом.
const books = new Map([["key1", "val1"], ["key2", "val2"]]);
let KEYS = [];
let VALUES = [];
for (const book of books) {
let [key, value] = book;
KEYS.push(key);
VALUES.push(value);
}
console.log(KEYS);
console.log(VALUES);
Итак, либо books
не является правильным Map
объектом, как вы думаете, либо в вашем реальном коде происходит что-то еще, что вы не показывать нам здесь.