TypeError:无法读取null的属性“length”

时间:2016-07-06 09:48:15

标签: javascript

我应该编写一个从字符串中删除元音的函数。我收到有关null值的错误消息。在多次尝试修复它之后,消息是相同的,但我尝试过滤空值。

  

TypeError:无法在getCount at处读取null的属性“length”   在Test.describe at Object.exports.runInThisContext

的Test.it
function getCount(str) {
  var vowelsCount = 0;

  if (str && str.length){
    vowelsCount=str.match(/[aeiou]/gi).length;
  } else {
    vowelsCount=0;
  }

  return vowelsCount;
}

describe("Case 1", function(){
    it ("should be defined", function(){
        Test.assertEquals(getCount("abracadabra"), 5)
    });
});

1 个答案:

答案 0 :(得分:2)

也许是这样的?

function getCount(str) {
  var vowelsCount = 0;

  if (str && str.length){
    var m = str.match(/[aeiou]/gi)
    if (m) return m.length;
  } else {
    vowelsCount=0;
  }

  return vowelsCount;
}

describe("Case 1", function(){
    it ("should be defined", function(){
        Test.assertEquals(getCount("abracadabra"), 5)
    });
});
相关问题