JavaScript exercise questions solutions:
Solutions
1. Sum of Two Numbers
function sum(a, b) {
return a + b;
2. Square of a Number
function square(num) {
return num * num;
3. Convert Fahrenheit to Celsius
function fahrenheitToCelsius(f) {
return (f - 32) * 5 / 9;
4. Check if a Number is Even or Odd
function isEven(num) {
return num % 2 === 0;
}
5. Largest of Three Numbers
function largestOfThree(a, b, c) {
return [Link](a, b, c);
6. Reverse a String
function reverseString(str) {
return [Link]('').reverse().join('');
7. Find the Longest Word in a String
function longestWord(str) {
const words = [Link](' ');
let longest = '';
for (let word of words) {
if ([Link] > [Link]) {
longest = word;
return longest;
}
8. Capitalize the First Letter of Each Word
function capitalizeFirstLetter(str) {
return [Link](' ').map(word => [Link](0).toUpperCase() + [Link](1)).join(' ');
9. Remove Duplicates from an Array
function removeDuplicates(arr) {
return [...new Set(arr)];
10. Sort an Array in Ascending Order
function sortArray(arr) {
return [Link]((a, b) => a - b);
11. Find the Factorial of a Number
function factorial(num) {
if (num === 0 || num === 1) return 1;
return num * factorial(num - 1);
}
12. Generate a Random Number Between Two Values
function randomBetween(min, max) {
return [Link]([Link]() * (max - min + 1)) + min;
13. Check if a String is a Palindrome
function isPalindrome(str) {
const reversed = [Link]('').reverse().join('');
return str === reversed;
14. Count the Number of Vowels in a String
function countVowels(str) {
const vowels = 'aeiouAEIOU';
let count = 0;
for (let char of str) {
if ([Link](char)) {
count++;
}
return count;
15. Find the Highest Common Factor (HCF)
function hcf(a, b) {
while (b) {
let temp = b;
b = a % b;
a = temp;
return a;
16. Find the Lowest Common Multiple (LCM)
function lcm(a, b) {
return (a * b) / hcf(a, b);
17. Convert a Number to Binary
function decimalToBinary(num) {
return [Link](2);
}
18. Convert a Binary Number to Decimal
function binaryToDecimal(binary) {
return parseInt(binary, 2);
19. Check if a Number is Prime
function isPrime(num) {
if (num <= 1) return false;
for (let i = 2; i <= [Link](num); i++) {
if (num % i === 0) return false;
return true;
20. Generate the First `n` Fibonacci Numbers
function fibonacci(n) {
const fib = [0, 1];
for (let i = 2; i < n; i++) {
[Link](fib[i - 1] + fib[i - 2]);
return fib;
}
21. Flatten a Nested Array
function flattenArray(arr) {
return [Link](Infinity);
22. Shuffle an Array
function shuffleArray(arr) {
for (let i = [Link] - 1; i > 0; i--) {
const j = [Link]([Link]() * (i + 1));
[arr[i], arr[j]] = [arr[j], arr[i]];
return arr;
23. Find the Sum of All Numbers in an Array
function sumArray(arr) {
return [Link]((acc, val) => acc + val, 0);
}
24. Find the Average of All Numbers in an Array
function averageArray(arr) {
return sumArray(arr) / [Link];
25. Find the Median of an Array
function medianArray(arr) {
[Link]((a, b) => a - b);
const mid = [Link]([Link] / 2);
return [Link] % 2 === 0 ? (arr[mid - 1] + arr[mid]) / 2 : arr[mid];
26. Merge Two Sorted Arrays
function mergeSortedArrays(arr1, arr2) {
let merged = [];
let i = 0, j = 0;
while (i < [Link] && j < [Link]) {
if (arr1[i] < arr2[j]) {
[Link](arr1[i]);
i++;
} else {
[Link](arr2[j]);
j++;
}
return [Link]([Link](i)).concat([Link](j));
27. Find the Intersection of Two Arrays
function intersection(arr1, arr2) {
return [Link](value => [Link](value));
28. Find the Union of Two Arrays
function union(arr1, arr2) {
return [...new Set([...arr1, ...arr2])];
29. Remove Falsy Values from an Array
function removeFalsy(arr) {
return [Link](Boolean);
30. Create a Deep Copy of an Object
function deepCopy(obj) {
return [Link]([Link](obj));
31. Perform a Binary Search on a Sorted Array
function binarySearch(arr, target) {
let left = 0, right = [Link] - 1;
while (left <= right) {
const mid = [Link]((left + right) / 2);
if (arr[mid] === target) return mid;
if (arr[mid] < target) left = mid + 1;
else right = mid - 1;
return -1;
32. Find the Mode of an Array
function modeArray(arr) {
const frequency = {};
[Link](value => frequency[value] = (frequency[value] || 0) + 1);
let maxFreq = 0, mode;
for (let key in frequency) {
if (frequency[key] > maxFreq) {
maxFreq = frequency[key];
mode = key;
return mode;
33. Calculate the Power of a Number Using Recursion
function power(base, exp) {
if (exp === 0) return 1;
return base * power(base, exp - 1);
34. Calculate the Greatest Common Divisor (GCD) Using Recursion
function gcd(a, b) {
if (!b) return a;
return gcd(b, a % b);
35. Find the Minimum and Maximum Values in an Array
function minMaxArray(arr) {
return { min: [Link](...arr), max: [Link](...arr) };
}
36. Convert a String to Camel Case
function toCamelCase(str) {
return [Link](' ').map((word, index) => {
return index === 0 ? [Link]() : [Link](0).toUpperCase() +
[Link](1).toLowerCase();
}).join('');
37. Convert a String to Snake Case
function toSnakeCase(str) {
return [Link](' ').join('_').toLowerCase();
38. Convert a String to Kebab Case
function toKebabCase(str) {
return [Link](' ').join('-
').toLowerCase();
}
39. Remove a Specific Element from an Array
function removeElement(arr, element) {
return [Link](el => el !== element);
40. Count the Occurrences of Each Character in a String
function countCharacters(str) {
const count = {};
for (let char of str) {
count[char] = (count[char] || 0) + 1;
return count;
41. Check if Two Strings are Anagrams
function areAnagrams(str1, str2) {
const normalize = str => [Link]().split('').sort().join('');
return normalize(str1) === normalize(str2);
42. Check if a String Contains Only Digits
function isOnlyDigits(str) {
return /^\d+$/.test(str);
43. Check if a String Contains Only Letters
function isOnlyLetters(str) {
return /^[a-zA-Z]+$/.test(str);
44. Check if a String Contains Only Alphanumeric Characters
function isAlphanumeric(str) {
return /^[a-zA-Z0-9]+$/.test(str);
45. Find the First Non-Repeating Character in a String
function firstNonRepeatingChar(str) {
for (let i = 0; i < [Link]; i++) {
if ([Link](str[i]) === [Link](str[i])) {
return str[i];
return null;
}
46. Check if an Array is Sorted
function isSorted(arr) {
for (let i = 0; i < [Link] - 1; i++) {
if (arr[i] > arr[i + 1]) return false;
return true;
47. Concatenate Two Arrays
function concatenateArrays(arr1, arr2) {
return [Link](arr2);
48. Convert an Array of Numbers into a Single Number
function arrayToNumber(arr) {
return parseInt([Link](''), 10);
49. Find the Missing Number in a Given Array of Numbers from 1 to `n`
function findMissingNumber(arr, n) {
const total = (n * (n + 1)) / 2;
const sum = [Link]((acc, num) => acc + num, 0);
return total - sum;
50. Generate All Permutations of a Given String
function permute(str) {
if ([Link] <= 1) return [str];
let permutations = [];
for (let i = 0; i < [Link]; i++) {
let char = str[i];
let remainingChars = [Link](0, i) + [Link](i + 1);
for (let subPermutation of permute(remainingChars)) {
[Link](char + subPermutation);
return permutations;
These exercises cover a variety of basic JavaScript concepts and should provide a solid foundation for
further learning.