我想给字母表中的字母加上数字。问题是我不知道如何处理相同值的多个字母;例如字母 "A":1 "E":5 和 "D":4 应该返回 154 但在我的代码中返回只给出最后一个字母的数字。
var alpha =[
{
"A":1,
"B":2,
"C":3,
"D":4,
"E":5,
"F":6,
"G":7,
"H":8,
"I":9,
"J":10,
"K":11,
"L":12,
"M":13,
"N":14,
"O":15,
"P":16,
"Q":17,
"R":18,
"S":19,
"T":20,
"U":21,
"V":22,
"W":23,
"X":24,
"Y":25,
"Z":26,
}
];
function bin(letter){
for (var i = 0; i < alpha.length; i++){
if(alpha[i].hasOwnProperty(letter)){
return alpha[i][letter];
}
}
}
bin("R");bin("E");Run Code Online (Sandbox Code Playgroud)
如果出现我确定 catch 会处理的错误,我如何在 Jest 中测试我的 try / catch 块?例如,我想测试此代码以从单独的文件中读取令牌。我想测试我的捕获,但问题是我不知道如何在 Jest 中创建一个情况来在 Jest 中处理错误。
const readToken = async () => {
try{
const readFile = await fs.readFile('./apiData.json');
const data = JSON.parse(readFile);
return data.token;
}catch(err){
throw err;
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的 Jest 代码,但我认为工作不正确,因为在覆盖范围内显示带有 catch(err) 的行未被发现。
it('should return catch error',async (done) => {
try{
await readToken()
done()
}catch(e){
done(e);
}
})
Run Code Online (Sandbox Code Playgroud)