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]...