Learn Functional Programming by Building a Spreadsheet - Step 35

Can anyone tell what am i doing wrong I don’t know a lot about regular expressions

Your code so far

/* file: script.js */
const isEven = num => num % 2 === 0;
const sum = nums => nums.reduce((acc, el) => acc + el, 0);
const average = nums => sum(nums) / nums.length;

const median = nums => {
  const sorted = nums.slice().sort((a, b) => a - b);
  const length = sorted.length;
  const middle = length / 2 - 1;
  return isEven(length)
    ? average([sorted[middle], sorted[middle + 1]])
    : sorted[Math.ceil(middle)];
}

const spreadsheetFunctions = {
  sum,
  average,
  median
}

const range = (start, end) => Array(end - start + 1).fill(start).map((element, index) => element + index);
const charRange = (start, end) => range(start.charCodeAt(0), end.charCodeAt(0)).map(code => String.fromCharCode(code));


/* User Editable Region */

const evalFormula = (x, cells) => {
  const idToText = id => cells.find(cell => cell.id === id).value;
  const rangeRegex =  /^[A-J]/;
}

/* User Editable Region */


window.onload = () => {
  const container = document.getElementById("container");
  const createLabel = (name) => {
    const label = document.createElement("div");
    label.className = "label";
    label.textContent = name;
    container.appendChild(label);
  }
  const letters = charRange("A", "J");
  letters.forEach(createLabel);
  range(1, 99).forEach(number => {
    createLabel(number);
    letters.forEach(letter => {
      const input = document.createElement("input");
      input.type = "text";
      input.id = letter + number;
      input.ariaLabel = letter + number;
      input.onchange = update;
      container.appendChild(input);
    })
  })
}

const update = event => {
  const element = event.target;
  const value = element.value.replace(/\s/g, "");
  if (!value.includes(element.id) && value.startsWith('=')) {

  }
}

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36

Challenge Information:

Learn Functional Programming by Building a Spreadsheet - Step 35

You did the character class for matching A-J correctly, but you forgot about the capture group. A capture group allows you to use the value that is matched later on. Do you remember how to do that?

Also, you don’t want to anchor it to the beginning of the string.

That’s the problem i don’t know anything about capturing group

It seems strange that freeCodeCode would refer to capture groups in this step without having introduced then in a previous course. Have you done all of the preceding courses? If so, you don’t remember capture groups ever being mentioned?

I did find this an article on freeCodeCamp news that covers them. I’m sure you could find more if you searched the googles a little.

A Practical Guide to Regular Expressions – Learn RegEx with Real Life Examples

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.