You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
679 B
36 lines
679 B
'use strict' |
|
|
|
module.exports = longestStreak |
|
|
|
// Get the count of the longest repeating streak of `character` in `value`. |
|
function longestStreak(value, character) { |
|
var count = 0 |
|
var maximum = 0 |
|
var expected |
|
var index |
|
|
|
if (typeof character !== 'string' || character.length !== 1) { |
|
throw new Error('Expected character') |
|
} |
|
|
|
value = String(value) |
|
index = value.indexOf(character) |
|
expected = index |
|
|
|
while (index !== -1) { |
|
count++ |
|
|
|
if (index === expected) { |
|
if (count > maximum) { |
|
maximum = count |
|
} |
|
} else { |
|
count = 1 |
|
} |
|
|
|
expected = index + 1 |
|
index = value.indexOf(character, expected) |
|
} |
|
|
|
return maximum |
|
}
|
|
|