These include fairly simple algorithmic problems, each teaching you something new

Anagram

https://github.com/100xdevs-cohort-3/assignments/blob/main/week-2/week-2-js/easy/anagram.js

function isAnagram(str1, str2) {
  if (str1.length !== str2.length) {
    return false;a
  }
  const sortedStr1 = str1.toLowerCase().split('').sort().join('');
  const sortedStr2 = str2.toLowerCase().split('').sort().join('');
  return sortedStr1 === sortedStr2;
}

Expenditure analysis

https://github.com/100xdevs-cohort-3/assignments/blob/main/week-2/week-2-js/easy/expenditure-analysis.js

function calculateTotalSpentByCategory(transactions) {
  const categories = {};
  transactions.forEach((transaction) => {
    if (!categories[transaction.category]) {
      categories[transaction.category] = 0;
    }
    categories[transaction.category] += transaction.price;
  });
  return Object.keys(categories).map((category) => ({
    category,
    totalSpent: categories[category],
  }));
}

Find largest element

https://github.com/100xdevs-cohort-3/assignments/blob/main/week-2/week-2-js/easy/findLargestElement.js

Things to learn - nothing really


function findLargestElement(numbers) {
    let largestElement = numbers[0];
    for (let i = 1; i < numbers.length; i++) {
        if (numbers[i] > largestElement) {
            largestElement = numbers[i];
        }
    }
    return largestElement;
}