Перабор шматмерных структур JavaScript

Няхай у нас дадзены наступны аб'ект са студэнтамі:

javascriptlet students = {
  'group1': ['student11', 'student12', 'student13'],
  'group2': ['student21', 'student22', 'student23'],
  'group3': ['student31', 'student32'],
};

Давайце вывядзем на экран імёны ўсіх студэнтаў, перабраўшы наш аб'ект двума ўкладзенымі цыкламі.

Як вы бачыце, у нас аб'ект з масівамі. Гэта значыць, што першы цыкл павінен быць па аб'екце, а другі - па масівах. Гэта значыць першы цыкл будзе for-in, а другі - for-of, вось так:

javascriptfor (let group in students) {
  for (let name of students[group]) {
    console.log(name);
  }
}
Задание 1

Дана наступная структура з данымі:

javascriptlet data = {
  1: [
    'data11',
    'data12',
    'data13',
  ],
  2: [
    'data21',
    'data22',
    'data23',
  ],
  3: [
    'data31',
    'data32',
    'data33',
  ],
  4: [
    'data41',
    'data42',
    'data43',
  ],
};

З дапамогай укладзеных цыклаў вывядзіце на экран усе радкі з данымі.

Задание 2

Дана наступная структура з данымі:

javascriptlet data = [
  {
    1: 'data11',
    2: 'data12',
    3: 'data13',
  },
  {
    1: 'data21',
    2: 'data22',
    3: 'data33',
  },
  {
    1: 'data31',
    2: 'data32',
    3: 'data33',
  },
];

З дапамогай укладзеных цыклаў вывядзіце на экран усе радкі з данымі.

Задание 3

Дана наступная структура з данымі:

javascriptlet data = [
  {
    1: [
      'data111',
      'data112',
      'data113',
    ],
    2: [
      'data121',
      'data122',
      'data123',
    ],
  },
  {
    1: [
      'data211',
      'data212',
      'data213',
    ],
    2: [
      'data221',
      'data222',
      'data223',
    ],
  },
  {
    1: [
      'data411',
      'data412',
      'data413',
    ],
    2: [
      'data421',
      'data422',
      'data423',
    ],
  },
];

З дапамогай укладзеных цыклаў вывядзіце на экран усе радкі з данымі.