Просмотр исходного кода

Merge pull request #86 from frobinsonj/optimize-O(

Optimize O(
Martin Kleppe 5 лет назад
Родитель
Сommit
0d195d9f55
2 измененных файлов с 6 добавлено и 5 удалено
  1. 4 3
      jsfuck.js
  2. 2 2
      output.txt

+ 4 - 3
jsfuck.js

@@ -20,7 +20,8 @@
     'String':   '([]+[])',
     'Boolean':  '(![])',
     'Function': '[]["fill"]',
-    'RegExp':   'Function("return/"+false+"/")()'
+    'RegExp':   'Function("return/"+false+"/")()',
+    'Object':	'[]["entries"]()'
   };
 
   const MAPPING = {
@@ -65,7 +66,7 @@
     'L':   USE_CHAR_CODE,
     'M':   '(true+Function("return Date")()())[30]',
     'N':   '(NaN+"")[0]',
-    'O':   '(NaN+Function("return{}")())[11]',
+    'O':   '(+[]+Object)[10]',
     'P':   USE_CHAR_CODE,
     'Q':   USE_CHAR_CODE,
     'R':   '(+[]+RegExp)[10]',
@@ -86,7 +87,7 @@
     '%':   'Function("return escape")()([]["fill"])[21]',
     '&':   '("")["link"](0+")[10]',
     '\'':  USE_CHAR_CODE,
-    '(':   '(undefined+[]["fill"])[22]',
+    '(':   '([]["fill"]+"")[13]',
     ')':   '([0]+false+[]["fill"])[20]',
     '*':   USE_CHAR_CODE,
     '+':   '(+(+!+[]+(!+[]+[])[!+[]+!+[]+!+[]]+[+!+[]]+[+[]]+[+[]])+[])[2]',

+ 2 - 2
output.txt

@@ -6,7 +6,7 @@
 `%` 2551
 `&` 1997
 `'` 5086
-`(` 117
+`(` 114
 `)` 114
 `*` 5062
 `+` 70
@@ -45,7 +45,7 @@
 `L` 5163
 `M` 3852
 `N` 16
-`O` 1346
+`O` 732
 `P` 5070
 `Q` 5072
 `R` 1860