簡體   English   中英

搜索多維數組ActionScript 3

[英]Search Multidimensional Array ActionScript 3

如果我有兩個數組,如下面的示例所示,如何使用“搜索”數組中的值在“得分”數組中搜索每個節點的第一部分,並返回作為“”中每個節點的第二部分的值得分數組? 基本上在這種情況下,我想得到5和7。

var score:Array = new Array(); 
score[0] = ["cat", "3"];
score[1] = ["dog", "5"];
score[2] = ["fish", "0.5"];
score[3] = ["bird", "0.25"];
score[4] = ["horse", "10"];
score[5] = ["cow", "15"];
score[6] = ["iguana", "7"];

var search:Array = ["dog", "iguana"];

嘗試使用以下代碼(使用Dictionary):

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()">
    <mx:Script>
        <![CDATA[
            import mx.controls.Alert;
            private var score:Dictionary = new Dictionary();
            private var search:Array = ["dog", "iguana"];

            public function init():void{
                score["cat"] = "3";
                score["dog"] = "5";
                score["fish"] = "0.5";
                score["bird"] = "0.25";
                score["horse"] = "10";
                score["cow"] = "15";
                score["iguana"] = "7";

                var t1:String = score[search[1]];
                var t2:String = score[search[0]];
                Alert.show(t1 + ' ' + t2); //prints 5 7
            }
        ]]>
    </mx:Script>
</mx:Application>

或者您也可以這樣做:

            var t1:String = score["dog"];
            var t2:String = score["iguana"];

或不帶字典:

<?xml version="1.0" encoding="utf-8"?>

        public function init():void{
            score[0] = ["cat","3"];
            score[1] = ["dog","5"];
            score[2] = ["fish","0.5"];
            score[3] = ["bird","0.25"];
            score[4] = ["horse","10"];
            score[5] = ["cow","15"];
            score[6] = ["iguana","7"];

            for(var j:int = 0;j<search.length;j++){
                for(var i:int = 0;i<score.length;i++){
                    var temp:Array = score[i] as Array;
                    if(temp[0] == search[j]){
                        Alert.show(temp[1]);
                    }
                }
            }
        }
    ]]>
</mx:Script>

另外,您還沒有使用適當的方法來聲明數組,因此建議您使用我的方法或更改數組聲明。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM