Ҳамоҳангсозии тавассути функсияҳои дохилии дар JavaScript

Бигзор барномасоз месанҷад, ки дар массиви рақами 3 мавҷуд аст ё не:

javascriptlet arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
let exists = false;

for (let elem of arr) {
  if (elem === 3) {
    exists = true;
    break;
  }
}

console.log(exists);

Ман даъво мекунам, ки ин код мукаммал нест. Чӣ ғайри мукаммал аст, мо аз ҳалқа берун меравем пас аз он ки рақами 3 пайдо кардем? Масъала ин аст, ки функсияҳои дохилии дар JavaScript ҳамеша зудтар аз коди ҳамон монанди худнавис кор мекунанд.

Дар ҳолати мо функсияи includes мавҷуд аст, ки масъалаи додашударо ҳал мекунад, - ва бояд ҳамин функсияро истифода бурд:

javascriptlet arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log(arr.includes(3));

Ҳикмат: пеш аз ҳалли масъала ҳатман санҷед, ки функсияи дохилии JavaScript барои ҳалли он вуҷуд надорад.

Задание 1

Коди зерин месанҷад, ки сатр бо 'http' оғоз меёбад ё не. Ҳамоҳангсозиро иҷро кунед:

javascriptlet str = '';

if (str[0] + str[1] + str[2] + str[3] === 'http') {
  console.log('+++');
} else {
  console.log('---');
}
Задание 2

Коди зерин массивро бо арзиши додашуда пур мекунад. Ҳамоҳангсозиро иҷро кунед:

javascriptlet arr = fillArr('x', 5);
console.log(arr);

function fillArr(val, amount) {
  let arr = [];
  
  for (let i = 1; i <= amount; i++) {
    arr.push(val);
  }
  
  return arr;
}