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 = {
66
66
} ,
67
67
'*' : ( data ) => {
68
68
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
+ }
70
73
return res
71
74
} ,
72
75
'/' : ( data ) => {
76
+ if ( data [ 0 ] && typeof data [ 0 ] === 'object' ) return Number . NaN
73
77
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
+ }
75
82
return res
76
83
} ,
77
84
'-' : ( data ) => {
78
85
if ( ! data ) return 0
79
86
if ( typeof data === 'string' ) return - data
80
87
if ( typeof data === 'number' ) return - data
81
88
if ( typeof data === 'boolean' ) return - data
89
+ if ( typeof data === 'object' && ! Array . isArray ( data ) ) return Number . NaN
82
90
if ( data . length === 1 ) return - data [ 0 ]
83
91
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
+ }
85
96
return res
86
97
} ,
87
98
'%' : ( data ) => {
99
+ if ( data [ 0 ] && typeof data [ 0 ] === 'object' ) return Number . NaN
88
100
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
+ }
90
105
return res
91
106
} ,
92
107
error : ( type ) => {
You can’t perform that action at this time.
0 commit comments