Javascript split(/\s+;/).pop()-它做什么?

Javascript split(/\s+;/).pop()-它做什么?,javascript,regex,split,Javascript,Regex,Split,你能把这个表达译成文字吗 split(/\s+/).pop() 它是用javascript编写的,并使用正则表达式拆分字符串,但其原理是什么?这行代码将在空白处拆分字符串以创建一个单词数组,然后返回最后一个单词 您可能已经在某种字符串上看到过这种用法,例如: var someString = "Hello, how are you today?"; var lastWord = someString.split(/\s+/).pop(); 在这种情况下,lastWord将是“今天?” 如果您

你能把这个表达译成文字吗

split(/\s+/).pop()

它是用javascript编写的,并使用正则表达式拆分字符串,但其原理是什么?

这行代码将在空白处拆分字符串以创建一个单词数组,然后返回最后一个单词

您可能已经在某种字符串上看到过这种用法,例如:

var someString = "Hello, how are you today?";
var lastWord = someString.split(/\s+/).pop();
在这种情况下,
lastWord
将是
“今天?”

如果您一次只做一步:

var someString = "Hello, how are you today?";
var words = someString.split(/\s+/);
现在
words
是数组:
[“你好”,“你好”,“你”,“今天好吗?”]

然后:

现在
lastWord
是数组中的最后一项,即
“今天?”

实际上,也会从数组中删除最后一项(并返回它),因此在我的第二个示例中,它将更改
单词
,使其成为
[“你好”,“你好”,“你”,“你”]

如果您像我的第一个示例中那样在一行中完成所有操作,那么您永远不会保留对数组的引用,您只保留
.pop()
返回的最后一项

MDN有

从字符串中获取最后一个单词的另一种方法如下:

var lastWord = someString.substr( someString.lastIndexOf(" ") + 1 );
TLDR: 1) 分割部分基于regex/\s+/(表示用空格分隔)创建一个数组

2) pop部分返回数组的最后一个元素

可以改写为

var array = "one two three four five".split(/\s+/);
var lastMemberOfArray = array.pop()
我经常使用split(“.”.pop()来获取文件扩展名

var html = "holidays-and-parties/photos/a-pioneer-halloween.html"
var ext = html.split(".").pop(); // ext now holds 'html'
var html = "holidays-and-parties/photos/a-pioneer-halloween.html"
var ext = html.split(".").pop(); // ext now holds 'html'