File tree Expand file tree Collapse file tree 1 file changed +19
-4
lines changed Expand file tree Collapse file tree 1 file changed +19
-4
lines changed Original file line number Diff line number Diff line change @@ -66,27 +66,42 @@ const defaultMethods = {
6666 } ,
6767 '*' : ( data ) => {
6868 let res = 1
69- for ( let i = 0 ; i < data . length ; i ++ ) res *= + data [ i ]
69+ for ( let i = 0 ; i < data . length ; i ++ ) {
70+ if ( data [ i ] && typeof data [ i ] === 'object' ) return Number . NaN
71+ res *= + data [ i ]
72+ }
7073 return res
7174 } ,
7275 '/' : ( data ) => {
76+ if ( data [ 0 ] && typeof data [ 0 ] === 'object' ) return Number . NaN
7377 let res = + data [ 0 ]
74- for ( let i = 1 ; i < data . length ; i ++ ) res /= + data [ i ]
78+ for ( let i = 1 ; i < data . length ; i ++ ) {
79+ if ( data [ i ] && typeof data [ i ] === 'object' ) return Number . NaN
80+ res /= + data [ i ]
81+ }
7582 return res
7683 } ,
7784 '-' : ( data ) => {
7885 if ( ! data ) return 0
7986 if ( typeof data === 'string' ) return - data
8087 if ( typeof data === 'number' ) return - data
8188 if ( typeof data === 'boolean' ) return - data
89+ if ( typeof data === 'object' && ! Array . isArray ( data ) ) return Number . NaN
8290 if ( data . length === 1 ) return - data [ 0 ]
8391 let res = data [ 0 ]
84- for ( let i = 1 ; i < data . length ; i ++ ) res -= + data [ i ]
92+ for ( let i = 1 ; i < data . length ; i ++ ) {
93+ if ( data [ i ] && typeof data [ i ] === 'object' ) return Number . NaN
94+ res -= + data [ i ]
95+ }
8596 return res
8697 } ,
8798 '%' : ( data ) => {
99+ if ( data [ 0 ] && typeof data [ 0 ] === 'object' ) return Number . NaN
88100 let res = + data [ 0 ]
89- for ( let i = 1 ; i < data . length ; i ++ ) res %= + data [ i ]
101+ for ( let i = 1 ; i < data . length ; i ++ ) {
102+ if ( data [ i ] && typeof data [ i ] === 'object' ) return Number . NaN
103+ res %= + data [ i ]
104+ }
90105 return res
91106 } ,
92107 error : ( type ) => {
You can’t perform that action at this time.
0 commit comments