2012-02-02 31 views
2

的字符串是的JavaScript - 分割字符串,并通过了所有值的函数

var str = "Beautiful Day"; 

我使用空格作为分隔符

var substr = str.split(" "); 

上述应返回2个字和分裂海峡因此字符串的长度应该是2

var strLength = substr.length; 

现在,我想考绩小号两个词作为一个功能的独立参数,即:

myFunction(word1, word2) 

但我不希望使用

substr[0] 
substr[1] 
+0

你能设置'word1 = substr [0]'和'word2 = substr [1]'吗?在功能 – user836200 2012-02-02 03:26:44

回答

8

由于split返回一个数组,该apply方法是完美的你:

var str = 'It is a beautiful day'; 
alertEmAll.apply(null, str.split(' ')); 


function alertEmAll(){ 
    for(var i = 0; i < arguments.length; i++) 
     alert(arguments[i]); 
} 

编辑

由于您拥有可变数量的参数,因此您可能还想使用arguments类似数组的对象。上面的代码会一个接一个地提醒输入字符串中的所有单词。

+0

中,我该如何区分这两个单词? – techlead 2012-02-02 03:32:07

+0

@ SK11 a是第一个单词,b是第二个单词,如果你添加了另一个像'thefunc(a,b,c)'这样的参数,那么c将包含第三个单词(分裂后数组中的第三个单元),如果你的字符串有三个字。如果不是'c'将会是'undefined'。 – Paulpro 2012-02-02 03:33:11

+0

如果'str =“这是一个美好的一天”',这将不起作用。这意味着我仍然需要手动传递参数的数量。是否有一种方法可以遍历字符串的长度并动态地将参数传递给函数? – techlead 2012-02-02 03:35:37

相关问题