var str = "150721";
var DIGITS = new Map([
["0", "0"],
["1", "1"],
["2", "2"],
["3", "3"],
["4", "4"],
["5", "5"],
["6", "6"],
["7", "7"],
["8", "8"],
["9", "9"],
["\uFF10", "0"], // Fullwidth digit 0
["\uFF11", "1"], // Fullwidth digit 1
["\uFF12", "2"], // Fullwidth digit 2
["\uFF13", "3"], // Fullwidth digit 3
["\uFF14", "4"], // Fullwidth digit 4
["\uFF15", "5"], // Fullwidth digit 5
["\uFF16", "6"], // Fullwidth digit 6
["\uFF17", "7"], // Fullwidth digit 7
["\uFF18", "8"], // Fullwidth digit 8
["\uFF19", "9"], // Fullwidth digit 9
["\u0660", "0"], // Arabic-indic digit 0
["\u0661", "1"], // Arabic-indic digit 1
["\u0662", "2"], // Arabic-indic digit 2
["\u0663", "3"], // Arabic-indic digit 3
["\u0664", "4"], // Arabic-indic digit 4
["\u0665", "5"], // Arabic-indic digit 5
["\u0666", "6"], // Arabic-indic digit 6
["\u0667", "7"], // Arabic-indic digit 7
["\u0668", "8"], // Arabic-indic digit 8
["\u0669", "9"], // Arabic-indic digit 9
["\u06F0", "0"], // Eastern-Arabic digit 0
["\u06F1", "1"], // Eastern-Arabic digit 1
["\u06F2", "2"], // Eastern-Arabic digit 2
["\u06F3", "3"], // Eastern-Arabic digit 3
["\u06F4", "4"], // Eastern-Arabic digit 4
["\u06F5", "5"], // Eastern-Arabic digit 5
["\u06F6", "6"], // Eastern-Arabic digit 6
["\u06F7", "7"], // Eastern-Arabic digit 7
["\u06F8", "8"], // Eastern-Arabic digit 8
["\u06F9", "9"], // Eastern-Arabic digit 9
]);
var DIGITz = {
"0": "0",
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"6": "6",
"7": "7",
"8": "8",
"9": "9",
"\uFF10": "0", // Fullwidth digit 0
"\uFF11": "1", // Fullwidth digit 1
"\uFF12": "2", // Fullwidth digit 2
"\uFF13": "3", // Fullwidth digit 3
"\uFF14": "4", // Fullwidth digit 4
"\uFF15": "5", // Fullwidth digit 5
"\uFF16": "6", // Fullwidth digit 6
"\uFF17": "7", // Fullwidth digit 7
"\uFF18": "8", // Fullwidth digit 8
"\uFF19": "9", // Fullwidth digit 9
"\u0660": "0", // Arabic-indic digit 0
"\u0661": "1", // Arabic-indic digit 1
"\u0662": "2", // Arabic-indic digit 2
"\u0663": "3", // Arabic-indic digit 3
"\u0664": "4", // Arabic-indic digit 4
"\u0665": "5", // Arabic-indic digit 5
"\u0666": "6", // Arabic-indic digit 6
"\u0667": "7", // Arabic-indic digit 7
"\u0668": "8", // Arabic-indic digit 8
"\u0669": "9", // Arabic-indic digit 9
"\u06F0": "0", // Eastern-Arabic digit 0
"\u06F1": "1", // Eastern-Arabic digit 1
"\u06F2": "2", // Eastern-Arabic digit 2
"\u06F3": "3", // Eastern-Arabic digit 3
"\u06F4": "4", // Eastern-Arabic digit 4
"\u06F5": "5", // Eastern-Arabic digit 5
"\u06F6": "6", // Eastern-Arabic digit 6
"\u06F7": "7", // Eastern-Arabic digit 7
"\u06F8": "8", // Eastern-Arabic digit 8
"\u06F9": "9", // Eastern-Arabic digit 9
};
let result = '';
for (let i = 0, n = str.length; i < n; ++i) {
result += DIGITS.get(str[i]);
}
str.normalize("NFKC").replace(/[٠-٩۰-۹]/g,a=>a.charCodeAt(0)&15);
str.replace(/[٠-٩۰-۹]/g,a=>a.charCodeAt(0)&15).normalize("NFKC");
let result = '';
for (let letter of str) {
result += DIGITS.get(letter);
}
let result = '';
for (let letter of str) {
result += DIGITz[letter];
}
str.replace(/[\uFF10-\uFF19]/g,a=>a.charCodeAt(a.charCodeAt(0)-0xfee0)).replace(/[٠-٩۰-۹]/g,a=>a.charCodeAt(0)&15);
str.replace(/[٠-٩۰-۹]/g,a=>a.charCodeAt(0)&15).replace(/[\uFF10-\uFF19]/g,a=>a.charCodeAt(a.charCodeAt(0)-0xfee0));
--enable-precise-memory-info
flag.
Test case name | Result |
---|---|
Map | |
one liner | |
one liner swapped | |
ES6 for loop | |
Using object | |
regex normalize | |
regex normalize swapped |
Test name | Executions per second |
---|---|
Map | 1099992.9 Ops/sec |
one liner | 2655456.5 Ops/sec |
one liner swapped | 2604336.0 Ops/sec |
ES6 for loop | 1732553.9 Ops/sec |
Using object | 1558265.4 Ops/sec |
regex normalize | 1535058.1 Ops/sec |
regex normalize swapped | 1612221.9 Ops/sec |
It seems like you're trying to analyze the benchmark results of some code transformations related to string processing in JavaScript.
To provide a helpful answer, I'll need to parse and analyze the provided data. However, since the actual data is not included in your text, I'll assume that you want me to extract relevant information from the given "Benchmark result" string.
From the string, it appears that there are four test cases:
one liner
and one liner swapped
.To answer your question, I'll need to know what you're specifically looking for in the benchmark results. Are you interested in:
Please clarify your requirements, and I'll do my best to provide a helpful answer based on the provided data.