File tree Expand file tree Collapse file tree 1 file changed +12
-10
lines changed
Expand file tree Collapse file tree 1 file changed +12
-10
lines changed Original file line number Diff line number Diff line change @@ -336,16 +336,14 @@ Watcher.prototype.teardown = function () {
336336
337337const seenObjects = new Set ( )
338338function traverse ( val , seen ) {
339- var i , keys
340-
339+ let i , keys , isA , isO
341340 if ( ! seen ) {
342341 seen = seenObjects
343342 seen . clear ( )
344343 }
345- if ( isArray ( val ) ) {
346- i = val . length
347- while ( i -- ) traverse ( val [ i ] , seen )
348- } else if ( isObject ( val ) ) {
344+ isA = isArray ( val )
345+ isO = isObject ( val )
346+ if ( isA || isO ) {
349347 if ( val . __ob__ ) {
350348 var depId = val . __ob__ . dep . id
351349 if ( seen . has ( depId ) ) {
@@ -354,9 +352,13 @@ function traverse (val, seen) {
354352 seen . add ( depId )
355353 }
356354 }
357-
358- keys = Object . keys ( val )
359- i = keys . length
360- while ( i -- ) traverse ( val [ keys [ i ] ] , seen )
355+ if ( isA ) {
356+ i = val . length
357+ while ( i -- ) traverse ( val [ i ] , seen )
358+ } else if ( isO ) {
359+ keys = Object . keys ( val )
360+ i = keys . length
361+ while ( i -- ) traverse ( val [ keys [ i ] ] , seen )
362+ }
361363 }
362364}
You can’t perform that action at this time.
0 commit comments