我想只从这个字符串中提取组
我希望在警报“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(","))
答案 0 :(得分:2)
您有各种错误。
for( var i=0; i<recipients.length; i++ ){
group =recipients[i].substring(0,5)
if (group=="group")
{groups.push(recipients)}
}
你的声明只运行下一行代码,而不是我认为的块。如果您更好地格式化代码,您将能够更好地看到这样的错误。
for( var i=0; i<recipients.length; i++ )
group =recipients[i].substring(0,5)
// MORE CODE
以上仅运行for。之后的第一个完整行。
答案 1 :(得分: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"
});