如何拆分String并添加到ArrayCollection

RKC*_*KCY 1 apache-flex actionscript-3

我有一个像这样的字符串:

var tempSting:String = "abc@abc.com;xyz@xyz.com"

我想将此String添加到ArrayCollection.并且上面的字符串应该按邮件ID划分并删除;符号并需要添加为ArrayCollection

tempAc:Arraycollection = new ArrayCollection{abc@abc.com, xyz@xyz.com}

请帮我将split String添加到ArrayCollection中.

Pra*_*adi 9

var tempString:String="abc@abc.com;xyz@xyz.com";
var tempArray:Array=tempString.split(";");

//tempAc is a predefined and presumably prepopulated arraycollection    

for each(var email:String in tempArray) {
    tempAc.addItem(email);
}
Run Code Online (Sandbox Code Playgroud)

编辑现在我看到Shane的回答我必须添加以下内容:

此代码将数组附加到arraycollection.如果您只想创建一个新的arraycollection,您需要做的就是:

var tempAc:ArrayCollection=new ArrayCollection(tempArray);
Run Code Online (Sandbox Code Playgroud)

或者在一行中,

var tempAc:ArrayCollection=new ArrayCollection(tempString.split(";"));
Run Code Online (Sandbox Code Playgroud)

更新 - 回答评论中的问题:

tempAc.getItemAt(i)将在第i个位置为您提供电子邮件ID

tempAc.getItemIndex("someone@email.com")将为您提供someone@email.comarraycollection 中存在的索引(如果未包含,则为-1)

tempAc.contains("someone@email.com")将返回truefalse取决于arraycollection中是否包含字符串

因此,要检查重复的ID,您所要做的就是:

var newEmailId:String="someone@email.com";
if(!tempAc.contains(newEmailId)) {
    tempAc.addItem(newEmailId);
}
Run Code Online (Sandbox Code Playgroud)


sha*_*hat 6

var tempString:String = "abc@abc.com;xyz@xyz.com";
tempAC:ArrayCollection = new ArrayCollection(tempString.split(";"));
Run Code Online (Sandbox Code Playgroud)