1- /*
1+ /*
22 *
33 *
44 *Implementation of the Boyer-Moore String Search Algo.
1111 *
1212 **/
1313const buildBadMatchTable = ( str ) => {
14- let tableObj = { } ;
15- let strLength = str . length ;
16- for ( var i = 0 ; i < strLength - 1 ; i ++ ) {
17- tableObj [ str [ i ] ] = strLength - 1 - i ;
14+ const tableObj = { } ;
15+ const strLength = str . length ;
16+ for ( let i = 0 ; i < strLength - 1 ; i ++ ) {
17+ tableObj [ str [ i ] ] = strLength - 1 - i ;
1818 }
19- if ( tableObj [ str [ strLength - 1 ] ] == undefined ) {
20- tableObj [ str [ strLength - 1 ] ] = strLength ;
19+ if ( tableObj [ str [ strLength - 1 ] ] = == undefined ) {
20+ tableObj [ str [ strLength - 1 ] ] = strLength ;
2121 }
2222 return tableObj ;
2323}
2424
2525
26- let boyerMoore = ( str , pattern ) => {
27- var badMatchTable = buildBadMatchTable ( pattern ) ,
28- offset = 0 ,
29- patternLastIndex = pattern . length - 1 ,
30- scanIndex = patternLastIndex ,
31- maxOffset = str . length - pattern . length ;
26+ const boyerMoore = ( str , pattern ) => {
27+ let badMatchTable = buildBadMatchTable ( pattern ) ;
28+ let offset = 0 ;
29+ let patternLastIndex = pattern . length - 1 ;
30+ let scanIndex = patternLastIndex ;
31+ let maxOffset = str . length - pattern . length ;
3232 // if the offset is bigger than maxOffset, cannot be found
3333 while ( offset <= maxOffset ) {
3434 scanIndex = 0 ;
@@ -39,7 +39,7 @@ let boyerMoore = (str, pattern)=> {
3939 }
4040 scanIndex ++ ;
4141 }
42- var badMatchString = str [ offset + patternLastIndex ] ;
42+ const badMatchString = str [ offset + patternLastIndex ] ;
4343 if ( badMatchTable [ badMatchString ] ) {
4444 // increase the offset if it exists
4545 offset += badMatchTable [ badMatchString ]
@@ -49,10 +49,4 @@ let boyerMoore = (str, pattern)=> {
4949 }
5050 return - 1 ;
5151}
52- export { boyerMoore }
53-
54-
55-
56-
57-
58-
52+ export { boyerMoore }
0 commit comments