The problem is that you’re assigning an empty array to abcd in each iteration, so only the last push remains – declare and initialise abcd outside of the loop instead. That said, you could also just .map() the original array like so:
var abcd = a.map(function (el) {
return el.split(' ').join('+')
})
And instead of .split()ing and .join()ing the element, you might just .replace() all whitespace characters:
var abcd = a.map(function (el) {
return el.replace(/\s/g, '+')
})