我想寫一個函數來計算字母表中的字母與字符串中的字母的匹配。然後,我將每個字母的計數存儲到關聯數組中。我的問題是string.match(regExpression) || [].length
返回一個數組。我的期望是它會返回一個匹配長度的整數值。我知道string.prototype.match()方法返回一個數組,但我的理解(基於方法的形式化描述)是Sting.length返回一個數字。返回數組的String.match.length。預期一個整數值。
我在做什麼錯?
function countLetters(string) {
//create array with letters of alphabet
var alphabet = "abcdefghijklmnopqrstuvwxyz".split("");
var counts = [];
for (i = 0; i < alphabet.length; i++) {
var regExpression = new RegExp(alphabet[i], "g");
counts[alphabet[i]] = string.match(regExpression) || [].length
}
return counts;
}
如果'string.match'成功,那麼它將返回一個數組...... – elclanrs
那麼忽略'array'和挑'value'出來的,你需要的。 – John
我以爲.length是忽略數組並給我我正在尋找的值的部分。 @john你如何建議我這樣做? – sharly