{"ScriptPreparationCode":"\r\nvar NumberFormatUtils = {\r\n format: (locale, number) =\u003E number.toString(),\r\n formatToParts: (locale, number) =\u003E [\r\n { type: \u0027decimal\u0027, value: \u0027.\u0027 },\r\n { type: \u0027minusSign\u0027, value: \u0027-\u0027 },\r\n { type: \u0027group\u0027, value: \u0027,\u0027 }\r\n ]\r\n};\r\n\r\nvar STANDARD_DIGITS = [\u00270\u0027, \u00271\u0027, \u00272\u0027, \u00273\u0027, \u00274\u0027, \u00275\u0027, \u00276\u0027, \u00277\u0027, \u00278\u0027, \u00279\u0027, \u0027.\u0027, \u0027-\u0027, \u0027,\u0027];\r\n\r\nvar INDEX_DECIMAL = 10;\r\nvar INDEX_MINUS_SIGN = 11;\r\nvar INDEX_GROUP = 12;\r\n\r\nvar LOCALE_TEST = \u0027en-US\u0027; // Example locale","TestCases":[{"Name":"Original","Code":"const getLocaleDigitsOriginal = \r\n (locale) =\u003E {\r\n const localeDigits = [...STANDARD_DIGITS];\r\n for (let i = 0; i \u003C= 9; i\u002B\u002B) {\r\n localeDigits[i] = NumberFormatUtils.format(locale, i);\r\n }\r\n NumberFormatUtils.formatToParts(locale, 1000000.5).forEach((part) =\u003E {\r\n switch (part.type) {\r\n case \u0027decimal\u0027:\r\n localeDigits[INDEX_DECIMAL] = part.value;\r\n break;\r\n case \u0027minusSign\u0027:\r\n localeDigits[INDEX_MINUS_SIGN] = part.value;\r\n break;\r\n case \u0027group\u0027:\r\n localeDigits[INDEX_GROUP] = part.value;\r\n break;\r\n default:\r\n break;\r\n }\r\n });\r\n return localeDigits;\r\n };\r\n\r\ngetLocaleDigitsOriginal(LOCALE_TEST);","IsDeferred":false},{"Name":"Improved one","Code":"const DIGITS = [INDEX_DECIMAL, INDEX_MINUS_SIGN, INDEX_GROUP];\r\nconst getLocaleDigitsOptimized = \r\n (locale) =\u003E {\r\n const localeDigits = [];\r\n \r\n // Set standard digits\r\n for (let i = 0; i \u003C= 9; i\u002B\u002B) {\r\n localeDigits[i] = NumberFormatUtils.format(locale, i);\r\n }\r\n\r\n // Set standard symbols (decimal, minus sign, group)\r\n DIGITS.forEach((index) =\u003E {\r\n localeDigits[index] = STANDARD_DIGITS[index];\r\n });\r\n\r\n // Update locale-specific symbols\r\n NumberFormatUtils.formatToParts(locale, 1000000.5).forEach((part) =\u003E {\r\n switch (part.type) {\r\n case \u0027decimal\u0027:\r\n localeDigits[INDEX_DECIMAL] = part.value;\r\n break;\r\n case \u0027minusSign\u0027:\r\n localeDigits[INDEX_MINUS_SIGN] = part.value;\r\n break;\r\n case \u0027group\u0027:\r\n localeDigits[INDEX_GROUP] = part.value;\r\n break;\r\n default:\r\n break;\r\n }\r\n });\r\n\r\n return localeDigits;\r\n };\r\ngetLocaleDigitsOptimized(LOCALE_TEST);","IsDeferred":false}]}