test task (22-05-2024)

by Evgeniy Lukovsky

HTML

<div>
<input id="userInput" type="text"/>
<p id="output">
...placeholder
</p>
</div>

JavaScript

document.addEventListener("readystatechange", () => {
  let processing = (input) => {
    return Object.entries(input.split("").reduce((acc, val) => {
      acc[val] = !!acc[val] ? acc[val] + 1 : 1
      return acc
    }, {})).filter(([key, value]) => value >= 2).length
  }


  let inputElements = document.querySelectorAll("#userInput")
  if (inputElements.length === 1) {
    let inputElement = inputElements[0]

    let showOutput = (outputText) => {
      let outputElement = document.querySelector("#output")
      outputElement.innerHTML = outputText
    }
    inputElement.addEventListener('keyup', (e) => {
      return showOutput(processing(e.target.value))
    })


  }
})