I am trying to create a function that will take a list of words -- and covert it into a sentence like this.
jsfiddle
http://jsfiddle.net/0ht35rpb/107/
<
The function you have commented out seems to be right, except that it's using some property off this
rather than the parameter passed to it.
Adjusting that, you get this:
const grammarCheck = function(vals) {
return [ vals.slice(0, -1).join(", "), vals.slice(-1)[0] ]
.join(vals.length < 2 ? "" : " and ");
}
grammarCheck(['foo']); //=> 'foo'
grammarCheck(['foo', 'bar']); //=> 'foo and bar'
grammarCheck(['foo', 'bar', 'baz']); //=> 'foo, bar and baz'
grammarCheck(['foo', 'bar', 'baz', 'qux']); //=> 'foo, bar, baz and qux'
Obviously, you could alter this a bit if you want the Oxford comma.