2013-02-28 29 views
0

我有一個輸入字段和一個數字列表(10,43,98,10,45,23,10)。我想將它轉換爲Array,所以我可以將這個數組用於多個函數。請幫助我指出正確的方向。As3要轉換爲數組的數字輸入字段

var a:Array = Array[]; 
a.push(_numInput.text);//this is my input field name 
//trace(a); 

var l:Number = 0; 
for(var i:uint=0; i< a.length; i++) 
{ 
    var t1:Number = l += a[i]; 
    var t2:Number = a.length; 
    var t3:Number = t1/t2; 
} 

trace(t3); 
//when i trace the _numInput.text the number show up but i can not use them. 

回答

0

使用split();到字符串轉換這樣一個數組。

var a:Array = _numInput.text.split(","); 
+0

感謝您的幫助 – Crespo 2013-02-28 20:35:26

+0

唯一的問題是獲取每個數字的總數。我嘗試不同的方式,但我無法工作。我在這裏 – Crespo 2013-02-28 23:25:51

0

您需要的String強制轉換爲Integer

a.push(int(_numInput.text)); 

編輯:UPS,好像我不明白預編輯的問題

0

如果您有逗號在文本字段分隔的數字,然後下面是得到一個array劈裂字符串只會創建的字符串
數組因此,一個最簡單的方法,

var str = "10,43,98,10,45,23,10"; 

function convertTextFieldStringToArray(s:String):Array 
{ 
    var a = s.split(","); 

    return a; 
} 

trace(convertTextFieldStringToArray(str)); 
0

你需要做的是然後將該數組轉換爲數組int

public function mapIt(obj:Object, index:int, arr:Array):int { 
     // validation might be a good idea here since this is user imputed text. 
     return int(obj) // convert to int 
    } 

    // your input string 
    var str:String = "10,43,98,10,45,23,10"; 

    // convert string to array of strings 
    var arrayOfStrings:Array = str.split(",") 

    trace(typeof arrayOfStrings[0])// verify first element is a string 
    trace(arrayOfStrings[0] + arrayOfStrings[0]) // verify string concatination 

    var arrayOfInt:Array = arrayOfStrings.map(mapIt) // map each element 
    trace(typeof arrayOfInt[0]) // verify first element is an int 
    trace(arrayOfInt[0] + arrayOfInt[0]) // verify numbers are correctly added