0

我有一个输入字段和一个数字列表(10,43,98,10,45,23,10)。我想将其转换为Array,因此我可以将此数组用于多个功能。请帮我指出正确的方向。

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.
4

4 回答 4

0

您需要将其String转换为Integer!!

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

编辑:Ups,似乎我不太明白这个问题预编辑

于 2013-02-28T15:15:09.950 回答
0

用于split();将这样的字符串转换为数组。

var a:Array = _numInput.text.split(",");
于 2013-02-28T15:24:36.997 回答
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));
于 2013-02-28T16:09:45.750 回答
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
于 2013-02-28T16:43:25.720 回答