{"ScriptPreparationCode":"const order = [\u0027a\u0027, \u0027b\u0027, \u0027c\u0027]\r\nconst data = [\u0027b\u0027, \u0027c\u0027, \u0027a\u0027, \u0027d\u0027]\r\nconst preparedMap = new Map(order.map((letter, index) =\u003E [letter, index]))","TestCases":[{"Name":"Map","Code":"const orderMap = new Map(order.map((letter, index) =\u003E [letter, index]))\r\ndata.sort((a, b) =\u003E (orderMap.get(a) ?? Infinity) - (orderMap.get(b) ?? Infinity))","IsDeferred":false},{"Name":"indexOf","Code":"data.sort((a, b) =\u003E {\r\n\t\tconst indexA = order?.indexOf(a)\r\n\t\tconst indexB = order?.indexOf(b)\r\n \r\n\t\tif (indexA !== -1 \u0026\u0026 indexB !== -1) return indexA - indexB\r\n\r\n\t\tif (indexA === -1 \u0026\u0026 indexB !== -1) return 1\r\n\t\tif (indexA !== -1 \u0026\u0026 indexB === -1) return -1\r\n\r\n return 0\r\n })\r\n ","IsDeferred":false},{"Name":"preparedMap","Code":"data.sort((a, b) =\u003E (preparedMap.get(a) ?? Infinity) - (preparedMap.get(b) ?? Infinity))","IsDeferred":false}]}