I have phrase with two words:
var phrase = "hello world"
and I want to split and assign like in:
var words = phrase.split(" ");
var word1 = words[0];
var word2 = words[1];
Is there a easier way than this three lines?
[updated]
I looking to a way for do it in a single line, like:
var word1 word2 = phrase.split(" ");
is it possible?
If you're using Javascript 1.7 (not just ECMAscript), you can use destructuring assignment:
var [a, b] = "hello world".split(" ");
var words = "hello world".split(" ");
var word1 = words[0];
var word2 = words[1];
Is just as long, but much more readable. To answer your question, I think the above is easy enough without getting into regex.
Update
JavaScript unfortunately does not have parallel assignment functionality like Ruby. That is,
var word1, word2 = phrase.split(" ");
will not set word1
and word2
to words[0]
and words[1]
respectively.
Instead it would set both word1 and word2 to the returned array ["hello", "world"].
Now you could use the returned array instead of explicitly setting the results into variables and access them by index. This is especially useful to avoid creating a large number of variables when the string is quite long.
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