I’ve been searching for a more concise way to represent multidimensional arrays in Javascript, so I’d like to find a way to separate an array using multiple separators, along with Javascript’s built-in string.split(separator) method.
For example, the string "what, am, I; doing, here, now" would become [["what", "am", "I"],["doing", "here", "now"]].
Is there any concise way to implement a function that does this?
var theString = "what, am, I; doing, here, now";
var theArray = getArray(theString, [",", ";"]); //this should return [["what", "am", "I"],["doing", "here", "now"]].
function getArray(theString, separators){
//convert a string to a multidimensional array, given a list of separators
}
LAST EDIT
I was leaving some commas in the words, as @Tom points out. Here’s the final code:
AND FIDDLE
First split on the second separator, then split each member in there on the other separator.
LIVE DEMO
Note that you’ll have to do a tad bit of cleanup to remove the empty space in the second array, but that should be simple.
EDIT — I was feeling energetic – here’s how you kill that annoying leading space
UPDATED FIDDLE
EDIT – this is why I love SO so much. Per @Nathan, you can just split on the regex and save some trouble
UPDATED FIDDLE