diff --git a/_benchmarks/reduce-vs-map.md b/_benchmarks/reduce-vs-map.md new file mode 100644 index 00000000..fe3acf34 --- /dev/null +++ b/_benchmarks/reduce-vs-map.md @@ -0,0 +1,15 @@ +--- +title: Reduce vs Map +setup: | + var p = "PalmSystem.launchParams.details.target"; +tests: + - + name: Reduce + code: | + p.split(/\./).reduce((out, tok, i) => `(${i==1 ? `((typeof ${out} !== 'undefined' && ${out})` : out} || {}).${tok}`) + - + name: Map + code: | + p.replace(/^([^.]+)\./, 'typeof $1 !== \'undefined\'.$1.').split(/\./).map((x, i, a) => i<2 ? x : a.slice(1, i+1).join('.')).join(' && ') +--- +Nested object parsing.