1
この関数は私を混乱させ、空のオブジェクトを返すリターンを削除すると実行されます。そこでのリターン・ステートメントでは、それを無視して同じことを行います。 ここで何が起こっているのか分かりませんが、明らかに他の返信文はありません。関数はreturn文の前に空のオブジェクトを返します
var score = function(string){
var sum = 0;
if(string.length > 0){
string = string.toLowerCase();
var array = string.split('');
for(var i = 0; i < array.length; i++){
for(var letter in letters){
if(array[i] === letter) {
sum += letters[array[i]];
}
}
}
}
return sum;
};
これはテストするためにジャスミンを使用して
var letters = {
a : 1, e : 1, i : 1, o : 1, u : 1, l : 1, n : 1, r : 1, s : 1, t : 1, d : 2, g : 2, b : 3, c : 3, m : 3, p : 3, f : 4, h : 4, v : 4, w : 4, y : 4, k : 5, j : 8, x : 8, q : 10, z : 10
}
関連だという文字列ではありません。たとえば、
it('scores an empty word as zero',function() { expect(new score('')).toEqual(0); });
あなたのコードは私のために働いています。あなたはどのように機能スコアを呼んでいますか?私にとっては、 'score( 'hello')'は8を返します。 – Schiem
どのように呼び出すのですか?それが返す結果をどのようにチェックしますか? Btw、ネストされたループは必要ありません。 – zerkms
ジャスミンを使用してテストします。 (0); それは '空の単語をゼロとしてスコアする'、function(){ expect(新しいスコア( ''))toEqual(0); }); –