JSFiddle - React, Tailwind, and code Playground

by A A

JavaScript

questionList.forEach((question) => {
    let respName = "";
    let respObj = question;

    if (question.type === "some_type") {
			// some not important code
      // respName = "some_name"
    } else if (question.type === "some_type2") {
			// some not important code
      // respName = "some_name2"	
    } else if (question.type === "some_type3") {
			// some not important code
      // respName = "some_name3"
    } else if (question.type === "some_type4") {
      respName = "some_name4"
      respObj = getBlockStats(handle, block);
    } else {
			// some not important code
      // respName = "some_nameX"
    }

    setTimeout(() => {
      io.emit(respName, respObj);
    }, offset);

    offset += offsetIncrease;
});


const getBlockStats = (handle, block) => {
  return GameAnswers.findOne({ handle })
    .then(gameAnswers => {
      let maxQuesstionInBlock = gameAnswers.answers
        .reduce((a, b) => {
          return (parseInt(a.ownId) > parseInt(b.ownId) ? a : b)
        })
      let results = [];

      for (let i = 1; i <= maxQuesstionInBlock.ownId; i++) {
        let team1AllAnswers = gameAnswers.answers
          .filter(el => {
            return el.blockId === block
          })
          .filter((el) => {
            return el.team === "team1"
          })
          .filter((el) => {
            return parseInt(el.ownId) === i
          });

        let team1CorrectAnswers = team1AllAnswers
          .filter(el => {
            return el.correct === "true"
          });

        let team2AllAnswers = gameAnswers.answers
          .filter(el => {
            return el.blockId === block
          })
          .filter((el) => {
            return el.team === "team2"
          })
          .filter((el) => {
            return parseInt(el.ownId) === i
          });

        let team2CorrectAnswers = team2AllAnswers
          .filter(el => {
            return el.correct === "true"
          });

        let result = {
          "question": i,
     ...