javascript - 类型错误 : Cannot read property 'length' of null

标签 javascript

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

TypeError: Cannot read property 'length' of null at getCount at Test.it at Test.describe at Object.exports.runInThisContext

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)
    });
});

最佳答案

也许像这样?

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)
    });
});

关于javascript - 类型错误 : Cannot read property 'length' of null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38221016/

相关文章:

javascript - Node.js - 确保非阻塞调用完成

javascript - 播放后隐藏 YouTube 视频

javascript - 如何在 react 和 Electron 之间进行通信

javascript - 是否可以将 javascript 存储在数据库中?

javascript - 数组 Node js中数据更改的事件监听器

javascript - Array.splice 有效,Lodash.remove 无效

javascript - 时间用完时如何显示最后 5 秒?

php - 将 PHP 变量传递给 JavaScript getElementById

javascript - 在 jQuery 中重新排列列表元素

javascript - onchange 事件不会在 MSIE 中冒泡。我在哪里可以找到列出所有此类事件的图表