@@ -28,34 +28,36 @@ function closeToCovering(v, vAdjacent) { return v * (1 - snapClose) + vAdjacent
28
28
function ordinalScaleSnapLo ( a , v , existingRanges ) {
29
29
if ( overlappingExisting ( v , existingRanges ) ) return v ;
30
30
31
- var aPrev = a [ 0 ] ;
32
- var aPrevPrev = aPrev ;
33
- for ( var i = 1 ; i < a . length ; i ++ ) {
34
- var aNext = a [ i ] ;
31
+ var aHere = a [ 0 ] ;
32
+ var aPrev = aHere ;
33
+ for ( var i = 0 ; i < a . length - 1 ; i ++ ) {
34
+ var nextI = i + 1 ;
35
+ var aNext = a [ nextI ] ;
35
36
36
37
// very close to the previous - snap down to it
37
- if ( v < closeToCovering ( aPrev , aNext ) ) return snapOvershoot ( aPrev , aPrevPrev ) ;
38
- if ( v < aNext || i === a . length - 1 ) return snapOvershoot ( aNext , aPrev ) ;
38
+ if ( v < closeToCovering ( aHere , aNext ) ) return snapOvershoot ( aHere , aPrev ) ;
39
+ if ( v < aNext || nextI === a . length - 1 ) return snapOvershoot ( aNext , aHere ) ;
39
40
40
- aPrevPrev = aPrev ;
41
- aPrev = aNext ;
41
+ aPrev = aHere ;
42
+ aHere = aNext ;
42
43
}
43
44
}
44
45
45
46
function ordinalScaleSnapHi ( a , v , existingRanges ) {
46
47
if ( overlappingExisting ( v , existingRanges ) ) return v ;
47
48
48
- var aPrev = a [ a . length - 1 ] ;
49
- var aPrevPrev = aPrev ;
50
- for ( var i = a . length - 2 ; i >= 0 ; i -- ) {
51
- var aNext = a [ i ] ;
49
+ var aHere = a [ a . length - 1 ] ;
50
+ var aPrev = aHere ;
51
+ for ( var i = a . length - 1 ; i > 0 ; i -- ) {
52
+ var nextI = i - 1 ;
53
+ var aNext = a [ nextI ] ;
52
54
53
55
// very close to the previous - snap down to it
54
- if ( v > closeToCovering ( aPrev , aNext ) ) return snapOvershoot ( aPrev , aPrevPrev ) ;
55
- if ( v > aNext || i === a . length - 1 ) return snapOvershoot ( aNext , aPrev ) ;
56
+ if ( v > closeToCovering ( aHere , aNext ) ) return snapOvershoot ( aHere , aPrev ) ;
57
+ if ( v > aNext || nextI === 0 ) return snapOvershoot ( aNext , aHere ) ;
56
58
57
- aPrevPrev = aPrev ;
58
- aPrev = aNext ;
59
+ aPrev = aHere ;
60
+ aHere = aNext ;
59
61
}
60
62
}
61
63
0 commit comments