{"ScriptPreparationCode":null,"TestCases":[{"Name":"Old func","Code":"const keyword = \u0027dev\u0027;\r\nconst words = [\r\n \u0027Software Development\u0027,\r\n \u0027Web Developemnt\u0027,\r\n \u0027E-commerce Development\u0027,\r\n \u0027Game Developemnt\u0027,\r\n \u0027Leadership Development\u0027,\r\n \u0027Mobile App Development\u0027\r\n];\r\nwords.forEach(text =\u003E {\r\n const reg = new RegExp(keyword, \u0027gi\u0027);\r\n\r\n const matches = text.match(reg);\r\n\r\n if (!keyword || !matches) {\r\n return [{ text, isHighlighted: false }];\r\n }\r\n\r\n const highlightedFragments = matches.reverse();\r\n const nonHighlightedFragments = text.split(reg);\r\n\r\n const fragments = [];\r\n for (const fragment of nonHighlightedFragments) {\r\n fragments.push({ text: fragment, isHighlighted: false });\r\n\r\n const highlightedFragment = highlightedFragments.pop();\r\n if (highlightedFragment) {\r\n fragments.push({ text: highlightedFragment, isHighlighted: true });\r\n }\r\n }\r\n});","IsDeferred":false},{"Name":"New func","Code":"const keyword = \u0027dev\u0027;\r\nconst words = [\r\n \u0027Software Development\u0027,\r\n \u0027Web Developemnt\u0027,\r\n \u0027E-commerce Development\u0027,\r\n \u0027Game Developemnt\u0027,\r\n \u0027Leadership Development\u0027,\r\n \u0027Mobile App Development\u0027\r\n];\r\nwords.forEach(text =\u003E {\r\n const reg = new RegExp(\u0060(${keyword})\u0060, \u0027gi\u0027);\r\n if (!keyword || !text) {\r\n return [{ text, isHighlighted: false }];\r\n }\r\n\r\n const search = keyword.toLowerCase();\r\n\r\n const fragments = text.split(reg).map(part =\u003E {\r\n return {\r\n text: part,\r\n isHighlighted: part.toLowerCase() === search\r\n };\r\n });\r\n});","IsDeferred":false}]}