Loading...
alsavov avatar alsavov 7 Точки

Words Tracker -> Exercise: Associative Arrays

Ето кодът ми: https://pastebin.com/226TE4kJ

Judge връща 60/100 и нямам идея какво пропускам. Моля за помощ.

Това е условието на задачата:

1. Words Tracker

Write a function that receives an array of words and finds occurrences of given words in that sentence.

The input will come as an array of strings. The first string will contain the words you will be looking for separated by a space. All strings after that will be the words in which you will check for a match.

Print for each word how many times it occurs. The words should be sorted by count in descending

Тагове:
1
JavaScript Fundamentals
dimitarglavianov avatar dimitarglavianov 110 Точки
Best Answer

Здравей, 

Сигурно вече си намерил решение.

Това е твоя пример без counter-a.

На мен ми даде 100/100 с това ( вади резултат, ако думата я няма в масива, например => test - 0) :

function solve(input) {
  const wordsOccurence = {};
  const wordsToCheck = input.shift().split(" "); // ['this', 'sentence']

  for (const word of wordsToCheck) {
      for (const str of input) {
          if (word == str) {
              if (!wordsOccurence[word]) {
                wordsOccurence[word] = 1;
              } else {
                  wordsOccurence[word]++;
              }
          }
      }
      if(!wordsOccurence[word]){
        wordsOccurence[word] = 0;
      }
  }

  let sorted = Object.entries(wordsOccurence).sort((a, b) => b[1] - a[1]);
  for (const [word, count] of sorted) {
      console.log(`${word} - ${count}`);
  }
}

За по сигурно трябва задачата да е така smiley:

function solve(input) {
  const wordsOccurence = {};
  const wordsToCheck = input.shift().split(" ").filter(x => x); // това премахва допълнителните спейсове, ако има.

  for (const word of wordsToCheck) {
      for (const str of input) {
          if (word.toLowerCase() === str.toLowerCase()) { // case-insensitive ??
              if (!wordsOccurence[word]) {
                wordsOccurence[word] = 1;
              } else {
                  wordsOccurence[word]++;
              }
          }
      }
      if(!wordsOccurence[word]){
        wordsOccurence[word] = 0;
      }
  }

  let sorted = Object.entries(wordsOccurence).sort((a, b) => b[1] - a[1]);
  for (const [word, count] of sorted) {
      console.log(`${word} - ${count}`);
  }
}

 

1
10/02/2024 20:38:10
alsavov avatar alsavov 7 Точки

Благодаря ти от все сърце!

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.