I am wanting to return an empty array. However, it keeps returning null. How can I resolve this in my code
I am wanting the mentions array to return blank on this occasion, but it keeps ing back as 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
}
Test
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 })
});
I am wanting to return an empty array. However, it keeps returning null. How can I resolve this in my code
I am wanting the mentions array to return blank on this occasion, but it keeps ing back as 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
}
Test
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 })
});
Share
Improve this question
edited Feb 17, 2020 at 18:32
Jongware
22.5k8 gold badges55 silver badges103 bronze badges
asked Jun 23, 2019 at 13:47
RowandinhoRowandinho
2037 silver badges16 bronze badges
1
-
Nothing in the code creating
tweetObj
attempts to create a property calledmentions
...? Literally, searching formentions
just finds it in the test. – T.J. Crowder Commented Jun 23, 2019 at 13:49
2 Answers
Reset to default 5You can modify:
let atSign = tweet.match(/@\w+/g)
to:
let atSign = tweet.match(/@\w+/g) || []
Adding || []
will assign an empty array to atSign
in a case where your regex returns null
You can do this:
let hashtag = tweet.match(/#\w+/g) || []
let atSign = tweet.match(/@\w+/g) || []