let s = 'Hello, world!', 
    mark = ['.', ',', '!', '?', ' '],
    a = [],
    i = 0;
    
a[i] = '';
for(let n=0; n<s.length; ++n) {
    
    if(!mark.includes(s[n])) a[i] += s[n];
    else{
        a[++i] = s[n];
        if(n+1 < s.length && !mark.includes(s[n+1])) a[++i] = '';
    }
}
alert(a)
PS. Исправлено, иначе могут быть пустые элементы.