我想返回一个空数组。但是,它始终返回null。如何在我的代码中解决
我希望在这种情况下,提及数组返回空白,但它会一直返回空值
function getTweetData(tweet) {
let hashtag = tweet.match(/#\w+/g)
let atSign = tweet.match(/@\w+/g)
let tweetObj = {
tags: hashtag,
mentions: atSign,
tagCount: 0,
mentionCount: 0,
length: tweet.length
}
if (tweet.match(/#/g))
tweetObj.tagCount++
if (tweet.match(/@/g))
tweetObj.mentionCount++
console.log(tweetObj)
return tweetObj
}
测试
it('Should increase the count of tags', () => {
expect(getTweetData('My awesome tweet about #coding')).to.eql({ tags: ['#coding'], mentions: [], tagCount: 1, mentionCount: 0, length: 30 })
});
答案 0 :(得分:2)
您可以修改:
let atSign = tweet.match(/@\w+/g)
收件人:
let atSign = tweet.match(/@\w+/g) || []
在您的正则表达式返回null的情况下,添加|| []
将为atSign
分配一个空数组
答案 1 :(得分:1)
您可以这样做:
let hashtag = tweet.match(/#\w+/g) || []
let atSign = tweet.match(/@\w+/g) || []