Reputation: 13278
If you have an array of strings in JavaScript / JQuery:
var myStrings = ["item1", "item2", "item3", "item4"];
...what is the most elegant way you have found to convert that list to a readable english phrase of the form:
"item1, item2, item3 and item4"
The function must also work with:
var myStrings = ["item1"]; // produces "item1"
var myStrings = ["item1", "item2"]; // produces "item1 and item2"
Upvotes: 6
Views: 1793
Reputation: 887365
Like this:
a.length == 1 ? a[0] : [ a.slice(0, a.length - 1).join(", "), a[a.length - 1] ].join(" and ")
Upvotes: 14