1

我只想从此字符串中提取组

我想在警报“group1,group2”中有类似的东西,但它返回空。

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(","))
4

2 回答 2

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 之后运行第一条完整的行。

于 2013-02-07T17:36:51.553 回答
2

一些放错位置的括号,for假设您要过滤,group*您需要添加数组而不是原始字符串。recipients[i]groupsrecipients

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"
});
于 2013-02-07T17:39:54.440 回答