Felsökning av kod med JavaScript-funktioner
I följande uppgifter har en programmerare skrivit kod och kanske gjort fel i den. Du måste kontrollera om koden gör vad som beskrivs. Om koden fungerar felaktigt måste du rätta felen.
Koden ska hitta summan av resultaten från två funktioner:
function func1() {
console.log(3);
}
function func2() {
console.log(5);
}
console.log( func1() + func2() );
Koden ska hitta summan av elementen i arrayen:
function sum(arr) {
let res = 0;
for (let elem of arr) {
res += elem;
return res;
}
}
console.log(sum([1, 2, 3, 4, 5]));
Koden ska hitta summan av elementen i arrayen, men skriver inget till konsolen:
let arr = [1, 2, 3, 4, 5];
function func(arr) {
let res = 0;
for (let elem of arr) {
res += elem;
}
console.log(res);
}
Koden ska hitta summan av resultaten från två funktioner:
function func1() {
return 3;
}
function func2() {
return 5;
}
console.log( func1 + func2 );
Koden ska hitta summan av elementen i arrayen:
let sum = sum([1, 2, 3, 4, 5]);
console.log(sum);
function sum(arr) {
let sum = 0;
for (let elem of arr) {
sum += elem;
}
return elem;
}
Koden ska hitta summan av elementen i arrayen:
let res = sum([1, 2, 3, 4, 5]);
console.log(res);
function sum(arr) {
let sum = 0;
for (let elem of arr) {
sum += elem;
}
}
Funktionen lägger till nolla till ett tal från 1 till 9,
och tal större än 9 returneras oförändrade:
function add(num) {
if (num <= 9) {
return '0' + num;
}
}
Koden ska hitta summan av elementen i arrayen:
let arr = [1, 2, 3, 4, 5];
let sum = sum(arr);
console.log(sum);
function sum(arr) {
let res = 0;
for (let elem of arr) {
res += elem;
}
return res;
}
Koden ska hitta summan av siffrorna i ett tal:
let num = 12345;
let res = getDigitsSum(num);
console.log(res);
function getDigitsSum(num) {
let arr = num.split('');
let sum = 0;
for (let elem of arr) {
sum += elem;
}
return sum;
}
Koden ska kontrollera om ett tal är ett primtal:
console.log(isPrime(13)); // ska skriva ut true
function isPrime(num) {
for (let i = 2; i < num; i++) {
if (num % i !== 0) {
return true;
} else {
return false;
}
}
}