Не могу решить достаточно простую задачу, помогите пожалуйста

Рейтинг: 0Ответов: 1Опубликовано: 20.04.2023

На фабрике принтер печатает этикетки для коробок. Для одного вида коробок принтер должен использовать цвета, которые обозначаются буквами от a до m. Иногда случаются проблемы, и строка с несуществующими цветами (с буквами не от a до m) может попасть в принтер.

Создай функцию getRatio, которая принимает строку colors, представляющую цвета для принтера, и возвращает частоту ошибок в строке. Результатом должна быть строка с дробью, числитель которой - количество ошибок, а знаменатель - длина строки.

Примечание: строка colors содержит только буквы от a до z.

пробовала разные варианты, также через регулярку, но все не то

function getRatio(colors) {
  let error = 0;
  const res = ('abcdefghijklm');
  const sum = colors.length;

  for (let i = 0; i < sum; i++) {
    if (sum[i] !== res) {
      error++;
    }
  }

  return (`${error}/${sum}`);
}

Ответы

▲ 0

принимает строку colors, представляющую цвета для принтера, и возвращает частоту ошибок в строке. Результатом должна быть строка с дробью, числитель которой - количество ошибок, а знаменатель - длина строки.

Предложу такое решение...

console.log(getRatio('dkadltnzmweoui'))
//
function getRatio(colors) {
  const a = [
    colors.replace(/[a-m]/g, '').length,
    colors.length
  ]
  return a.join('/')
}