JSFiddle - React, Tailwind, and code Playground

Create Lower level Reverse and Forward mapping

by Nalin Sajwan

JavaScript

let lowerQues = [ "1.1.1", "1.1.2", "1.1.3", "1.1.4", "1.1.5", "1.2.1", "1.2.2", "1.2.3", "1.2.4", "1.2.5", "1.3.1", "1.3.2", "1.3.3", "2.1.1", "2.1.2", "2.1.3", "2.1.4", "2.1.5", "2.2.1", "2.2.2", "2.2.3", "2.3.1", "2.3.2", "2.3.3", "2.4.1", "2.4.2", "2.4.3", "2.5.1", "2.5.2", "2.5.3", "2.6.1", "2.6.2", "2.6.3", "2.7.1", "2.7.2", "2.7.3", "2.8.1", "2.8.2", "2.8.3", "2.8.4", "3.1.1", "3.1.2", "3.1.3", "3.2.1", "3.2.2", "3.2.3", "3.2.4", "3.3.1", "3.3.2", "3.3.3", "3.4.1", "3.4.2", "3.4.3", "3.4.4", "4.1.1", "4.1.2", "4.1.3", "4.1.4", "4.1.5", "4.2.1", "4.2.2", "4.2.3", "4.3.1", "4.3.2", "5.1.1", "5.1.2", "5.1.3", "5.1.4", "5.2.1", "5.2.2", "5.2.3", "5.3.1", "5.3.2", "5.4.1", "5.4.2", "5.4.3", "6.1.1", "6.1.2", "6.1.3", "6.1.4", "6.2.1", "6.2.2", "6.2.3", "6.2.4", "6.2.5", "6.3.1", "6.3.2", "6.3.3", "6.3.4", "6.4.1", "6.4.2", "6.5.1", "6.5.2", "6.5.3", "6.6.1", "6.6.2", "6.6.3", "7.1.1", "7.1.2", "7.1.3", "7.2.1", "7.2.2", "7.2.3", "7.3.1", "7.3.2", "7.3.3" ]

let r1 = [ "1.1", "1.1", "1.2", "2.1", "2.1", "2.1", "2.2", "2.3", "2.4", "2.5", "2.6", "3.1", "3.2", "3.3", "3.3", "4.1", "4.2", "4.3", "5.1", "5.2", "5.2", "5.3", "6.1", "6.1", "6.2", "6.3", "6.4", "6.5", "7.1", "7.1", "7.2" ];

let r2 = [ "1.3", "1.1", "1.2", "2.2", "2.3", "2.1", "2.4", "2.5", "2.6", "2.7", "2.8", "3.1", "3.2", "3.3", "3.4", "4.1", "4.2", "4.3", "5.1", "5.2", "5.4", "5.3", "6.1", "6.3", "6.2", "6.4", "6.5", "6.6", "7.1", "7.2", "7.3" ];

let frontMapObj = {}, reverseMapObj = {};

function getLowerIds(hId) {
	return lowerQues.filter(v => {
  	if (v.startsWith(`${hId}.`)) {
    	return true;
    }
  });
}

for (let i = 0; i < r1.length; i++) {

    if (frontMapObj[ r1[i] ] === undefined) {
    	frontMapObj[ r1[i] ] = [];
    }
    
    let lowerIds = getLowerIds(r2[i]);
    
    lowerIds.forEach(v => {
    	if (reverseMapObj[v] === undefined) {
      	reverseMapObj[v] = [];
      }
      
      reverseMapObj[v].push(r1[i]);
    });
    
    frontMapObj[ r1[i] ] = frontMapObj[ r1[i]...