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"
Array.prototype.join() The join() method creates and returns a new string by concatenating all of the elements in an array (or an array-like object), separated by commas or a specified separator string. If the array has only one item, then that item will be returned without using the separator.
prototype. toString() The toString() method returns a string representing the specified array and its elements.
To convert an array of numbers to an array of strings, call the map() method on the array, and on each iteration, convert the number to a string. The map method will return a new array containing only strings.
Like this:
a.length == 1 ? a[0] : [ a.slice(0, a.length - 1).join(", "), a[a.length - 1] ].join(" and ")
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With