This is my solution, which seems to return all correct results, however, I get ‘check code for syntax error’ when I hit ‘check answer’. I’ve been debugging for more hours than I care to admit, can anyone shed some light on why it’s not being flagged as a correct solution?
const subLength = (str, char) => {
function letterCounts(str) {
result = {};
str.toLowerCase().split('').forEach(char => {
if (!result[char]) {
result[char] = 0;
}
result[char]++;
})
return result
}
if (letterCounts(str)[char] !== 2) {
return 0;
}
var firstChrIndex = str.indexOf(char);
var lastChrIndex = str.lastIndexOf(char);
return str.substring(firstChrIndex, lastChrIndex + 1).length
}
console.log(subLength('Saturday', 'a')); // prints 6
console.log(subLength('summer', 'm')); // prints 2
console.log(subLength('digitize', 'i')); // prints 0
console.log(subLength('cheesecake', 'k')); // prints 0