Could you translate this expression to words?
split(/\s+/).pop()
It is in javascript and uses regex to split a string, but what are the principles?
That line of code will split a string on white space to create an array of words, and then return the last word.
Presumably you have seen this used on a string of some kind, e.g.:
var someString = "Hello, how are you today?";
var lastWord = someString.split(/\s+/).pop();
In which case lastWord
would be "today?"
.
If you did that one step at a time:
var someString = "Hello, how are you today?";
var words = someString.split(/\s+/);
Now words
is the array: ["Hello,", "how", "are", "you", "today?"]
Then:
var lastWord = words.pop();
Now lastWord
is the last item from the array, i.e., "today?"
.
The .pop()
method also actually removes the last item from the array (and returns it), so in my second example that would change words
so that it would be ["Hello,", "how", "are", "you"]
.
If you do it all in one line as in my first example then you don't ever actually keep a reference to the array, you just keep the last item returned by .pop()
.
MDN has more information about .split()
.
Another way to get the last word from a string is as follows:
var lastWord = someString.substr( someString.lastIndexOf(" ") + 1 );
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