2013-02-07 36 views
1

我想從這個字符串的Javascript環路給我的問題

我想有警報類似於「1組,第2組」 只提取團體,但它返回空。

var phone_nos = "group1,group2,564774890900"; 
var recipients = phone_nos.split(","); 
for(var i=0; i<recipients.length; i++) 
group =recipients[i].substring(0,5) 
{ if (group=="group") 
     {groups.push(recipients)} 


    } 
    alert(groups.join(",")) 
+0

'的(...)語句{}塊'很可能不會做你希望它做的事。將語句*放在塊中。 –

回答

2

for並假設要過濾group*需要添加recipients[i]groups陣列,而不是原來recipients串有些錯位的括號。

var phone_nos = "group1,group2,564774890900"; 
var recipients = phone_nos.split(","); 
var groups = []; 
for (var i=0; i < recipients.length; i++) { 
    group = recipients[i].substring(0,5); 
    if (group == "group") { 
    groups.push(recipients[i]); 
    } 
} 
alert(groups.join(",")) 

現代瀏覽器/ IE9 +

var groups = phone_nos.split(",").filter(function(v) { 
    return v.substring(0, 5) === "group" 
}); 
+0

就像一個魅力 – ofumbi

2

您有錯誤的分類。

for(var i=0; i<recipients.length; i++){ 
    group =recipients[i].substring(0,5) 
    if (group=="group") 
     {groups.push(recipients)} 
} 

你for語句只運行下一行代碼,而不是我認爲的塊。如果你更好地格式化你的代碼,你會更好地看到這樣的錯誤。

for(var i=0; i<recipients.length; i++) 
    group =recipients[i].substring(0,5) 
    // MORE CODE 

以上僅運行for後的第一個完整行。