Getting an array from a string with vanilla JS
Lets imagine that we have a comma-separated string of shoppingList
items, and we want to convert it into an array.
let shoppingList = 'soda, turkey sandwiches, potato chips, chocolate chip cookies';
Today, we’re going to look at how to do that, and a few considerations. Let’s dig in…
The String.split()
method
The String.split()
method converts a string into an array by splitting it after a specific character (or characters). The first argument, the delimiter
, the character or characters to split by.
We can use the String.split()
method on it, passing in a comma (,
) as the delimiter.
// returns ["soda", " turkey sandwiches", " potato chips", " chocolate chip cookies"]
let menu = shoppingList.split(',');
Removing leading white space
In menu
, each item after soda
in the list will have a leading space before it. To fix this, we can pass in a comma with a space as the delimiter instead.
// returns ["soda", "turkey sandwiches", "potato chips", "chocolate chip cookies"]
let menu2 = shoppingList.split(', ');
If you’re not sure if there will always be a space after the comma, you can pair this method with Array.map()
and String.trim()
to normalize the results.
// returns ["soda", "turkey sandwiches", "potato chips", "chocolate chip cookies"]
let menu3 = shoppingList.split(',').map(function (item) {
return item.trim();
});
Stopping after a certain number of items
As an optional second argument, you can stop splitting your string after a certain number of delimiter matches have been found. The rest of the items are discarded.
// returns ["soda", "turkey sandwiches"]
let limitedMenu = shoppingList.split(', ', 2);