ДЕСТРУКТУРИЗАЦИЯ В ЦИКЛАХ (автопроверки)

Первый способ

Второй способ

Первый способ:

const colors = [
  { hex: "#f44336", rgb: "244,67,54" },
  { hex: "#2196f3", rgb: "33,150,243" },
  { hex: "#4caf50", rgb: "76,175,80" },
  { hex: "#ffeb3b", rgb: "255,235,59" },
];

const hexColors = [];
const rgbColors = [];

for (const {hex, rgb} of colors) {
  hexColors.push(color.hex);
  rgbColors.push(color.rgb);
}

Второй способ:

const colors = [
  { hex: "#f44336", rgb: "244,67,54" },
  { hex: "#2196f3", rgb: "33,150,243" },
  { hex: "#4caf50", rgb: "76,175,80" },
  { hex: "#ffeb3b", rgb: "255,235,59" },
];

const hexColors = [];
const rgbColors = [];

for (const color of colors) {
  const { hex, rgb } = color;
  hexColors.push(color.hex);
  rgbColors.push(color.rgb);
}

Пишет, что в цикле 'for...of' не используется деструктуризация объекта.
Не могу понять, что от меня хотят эти автопроверки. Вроде все правильно делаю, как в конспекте разными вариантами.


Ответы (1 шт):

Автор решения: Grundy

В первом способе задача выполняется

for (const {hex, rgb} of colors) { // деструктуризация объекта

однако в теле цикла

hexColors.push(color.hex);
rgbColors.push(color.rgb);

используется необъявленная переменная color.

Вместо этого нужно было напрямую использовать переменные hex и rgb

hexColors.push(hex);
rgbColors.push(rgb);
→ Ссылка