Javascript 如何拆分和分配2个单词?
我用两个词来形容这个短语:Javascript 如何拆分和分配2个单词?,javascript,string,split,Javascript,String,Split,我用两个词来形容这个短语: var phrase = "hello world" 我想拆分和分配如下: var words = phrase.split(" "); var word1 = words[0]; var word2 = words[1]; 有没有比这三条线更简单的方法 [更新] 我想在一行中找到一种方法,比如: var word1 word2 = phrase.split(" "); 有可能吗?我不是JavaScript专家,但看看你的代码,我认为你可以提高效率 您的代码调用
var phrase = "hello world"
我想拆分和分配如下:
var words = phrase.split(" ");
var word1 = words[0];
var word2 = words[1];
有没有比这三条线更简单的方法
[更新]
我想在一行中找到一种方法,比如:
var word1 word2 = phrase.split(" ");
有可能吗?我不是JavaScript专家,但看看你的代码,我认为你可以提高效率 您的代码调用split两次,这意味着原始字符串必须被解析两次。虽然这可能不是什么大不了的事,但这类编程是合情合理的 因此,这样做通常会更有效:
var words = phrase.split(" ");
var word1 = words[0];
var word2 = words[1];
我唯一的建议是缓存分割的结果,而不是重新计算
var phrase = "hello world";
var splitPhrase = phrase.split(" ");
var word1 = splitPhrase[0];
var word2 = splitPhrase[1];
同样长,但可读性更强。为了回答你的问题,我认为不需要进入regex,上面的内容就足够简单了
更新
不幸的是,JavaScript没有Ruby那样的并行分配功能。就是
var word1,word2=phrase.split(“”)
不会将word1
和word2
分别设置为words[0]
和words[1]
相反,它会将word1和word2都设置为返回的数组[“hello”,“world”]
现在您可以使用返回的数组,而不是显式地将结果设置为变量并通过索引访问它们。这对于避免在字符串相当长的情况下创建大量变量特别有用。不确定是否可以在“更少的行”中执行此操作,但肯定不需要执行两次拆分
var words = "hello world".split(" "),
word1 = words[0],
word2 = words[1];
如果您正在使用(不仅仅是ECMAscript),则可以使用:
派对迟到了,但这里有一个我用过的单线结构
var word1, word2;
(function(_){ word1 = _[0]; word2 = _[1]; })(phrase.split(" "));
我更新了我的答案以回答您的最新问题。McStretch:它在任何实现Javascript 1.7的运行时都可用。我在Rhino上测试了它。仅仅去掉新的线条并不能使它成为一个衬里-是的,但我想在Javascript中使用“multivalue return”样式,这是我所能做到的。我把它读为,
[word1,word2]=phrase.split()
。看,一行。;-)
var [a, b] = "hello world".split(" ");
var word1, word2;
(function(_){ word1 = _[0]; word2 = _[1]; })(phrase.split(" "));