我试图将字母的重复映射到哈希图中,然后返回字符串中的第一个非重复字符。以下是我为此编写的函数:
export const firstNonRepeatedFinder = (aString: string): string | null => {
const lettersMap: Map<string, number> = new Map<string, number>();
for (let letter of aString) {
if (!lettersMap.has(letter)) {
lettersMap.set(letter, 1);
} else {
incrementLetterCount(letter, lettersMap);
}
}
for (let letter of aString) {
if (lettersMap.get(letter) === 1) return letter;
}
return null;
function incrementLetterCount(
aLetter: string,
aLettersHashMap: Map<string, number>
): void {
if (
aLettersHashMap.has(aLetter) &&
aLettersHashMap.get(aLetter) !== undefined
) {
aLettersHashMap.set(aLetter, aLettersHashMap.get(aLetter) + 1);
}
}
};
Run Code Online (Sandbox Code Playgroud)
然而,在 …
我在 Heroku 上部署了 Rails API(Rails API 不是使用 创建的rails new <app-name> --api
,而是一个 Rails 应用程序,我从中创建了一个 API)。
在 Heroku 上部署时,Rails API 不起作用并抛出内部服务器错误状态 500。
我尝试使用邮递员和浏览器访问我的 API,但我收到内部服务器错误的 JSON 输出。
上述 JSON 响应是发送请求的结果my-app-name.herokuapp.com/api/v1/foods
我应该提到的是,我尝试heroku run rails console
查看我的数据库是否正确播种,并且我获得了我应该正确获得的所有数据。
heroku logs --tail
在这里,我复制了尝试向上述网址发送请求后的结果:
2019-06-18T19:45:53.619745+00:00 heroku[web.1]: State changed from starting to up
2019-06-18T19:45:55.010890+00:00 app[web.1]: => Booting Puma
2019-06-18T19:45:55.010918+00:00 app[web.1]: => Rails 5.2.3 application starting in production
2019-06-18T19:45:55.010920+00:00 app[web.1]: => Run `rails server -h` for more startup options
2019-06-18T19:45:55.010922+00:00 app[web.1]: Puma starting in single mode... …
Run Code Online (Sandbox Code Playgroud)