JavaScriptда аноним функционалар массиви

Мен илгари айтиб ўтганманки, JavaScriptда функционар худди сатр ёки сонлар каби ҳаракат қилади. Хусусан, функционардан таркиб топган массив ясаш мумкин. Куйидагини қилайлик:

javascriptlet arr = [
  function() {console.log('1')},
  function() {console.log('2')},
  function() {console.log('3')},
];

Келинг, масалан, массивнинг нол элементнинг мундарижасини консолга чиқарайлик:

javascriptlet arr = [
  function() {console.log('1')},
  function() {console.log('2')},
  function() {console.log('3')},
];

console.log(arr[0]); // биринчи функцянинг бошкина кодини курамиз

Куриб турганингиздек, юкоридаги мисолда биз функцянинг натижасини эмас, балки бошкина кодини оламиз.

Функця чақирилиши учун унга айлана дўмбалар ёзиш керак. Бизнинг функцямиз arr[0]да сақлангани сабабли, айлана дўмбаларни куб дўмбалардан кейин ёзиш керак, мана буйича: arr[0](). Текширамиз:

javascriptlet arr = [
  function() {console.log('1')},
  function() {console.log('2')},
  function() {console.log('3')},
];

arr[0](); // '1' ни чиқаради

Шунингдек, биз функционар массивини сикл билан айланиб чиқиш ва шу сикл ичида ҳар бир функцяни чақириш мумкин:

javascriptlet arr = [
  function() {console.log('1')},
  function() {console.log('2')},
  function() {console.log('3')},
];

for (let func of arr) {
  func(); // сиклда функцяларимизни чақирамиз
}
Задание 1

Учта функцядан иборат arr массивини ясанг. Биринчиси return орқали 1 сонини қайтарсин, иккинчиси - 2 сонини, учинчиси - 3 сонини қайтарсин.

Задание 2

Яратган arr массивингиздан фойдаланиб, мос функцяни чақириб, консолга 3 сонини чиқаринг.

Задание 3

Яратган arr массивингиздан фойдаланиб, функционар натижаларининг йиғиндисини топинг (сиклсиз).

Задание 4

Яратган arr массивингизни сикл билан айланиб чиқиб, барча функционар ишининг натижаларини консолга чиқаринг.