<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                多數是用Array 和List的應用可能希望循環其中包含的值。事實上,List已經為了這個目的高度定制,幾乎不用對其內容進行迭代操作。為了達到這點,每個Haxe的集合對象都提供一個方法 iterator() 。這個方法返回一個迭代對象的副本,包含集合的項,可以被傳遞到過程中,就像一個 for 循環: ~~~ var myArray : Array < String > = [“item1”, “item2”, “item3”]; var arrIter = myArray.iterator(); for ( i in arrIter ) { trace( i ); } ~~~ 例子顯示了數組中的每個項。然而,有一個更簡單的方法。作為一個便利性, for 循環發生能夠直接從任何對象暴露的iterator()方法提取迭代器對象返回類型為 Iterator<T> 。這里 <T> 是一個占位符,用來指定迭代器中保存的值的類型,所以在這個例子,iterator()的返回類型將是Iterator<String>: ~~~ var myArray = [“item1”, “item2”, “item3”]; for ( i in myArray ) { trace( i ); } ~~~ # 直接訪問集合項 * * * * * 迭代對象中存儲的值會傳遞任何相關集合中包含的值的副本,如果值得類型不是一個對象的話;否則一個引用將被傳遞。這可能有一點小麻煩如果你希望修改存儲在Array中的值并希望這些修改在循環結束后永久保存的話。看一下下面的例子: ~~~ var myArray = [“item1”, “item2”, “item3”]; for ( i in myArray ) { i += “0”; trace( i ); } trace( myArray[0] ); // Outputs: item1 ~~~ 當值被輸入到屏幕,可以看到每個項被添加了字符 0 ,然而當第一個項在for循環外查詢,則丟失了附加的字符。有時,這坑你是你想要的效果,但是如果不是呢? 這種情況,你可以抽象迭代器的使用通過使用IntIter 對象并設置它的最大值為數組長度。這種方式,可以直接訪問數組項并保證項被修改。用這個方法,你的前一個例子看起來應該是: ~~~ var myArray = [“item1”, “item2”, “item3”]; for ( i in 0...myArray.length ) { myArray[i] += “0”; trace( myArray[i] ); } trace( myArray[0] ); // Outputs: item10 ~~~ 在運行的示例中,添加到第一個項的字符是永久性的,或者至少應用結束之前是。 # 迭代Map * * * * * Map對象暴露一個 iterator() 方法,和Array 跟 List 對象類似。然而,只有包含的項的值會被傳遞到迭代器。因為這些對象的索引是通過使用鍵來訪問,不能使用 IntIterator 對象來直接訪問他們包含的值,除非對象是一個 IntMap,帶有連續的key。為了解決這個問題,一個任何類型的實例提供一個keys() 方法,可以返回一個迭代器包含集合中用到的key。一旦實現這個,迭代器就可以用來替代 IntIter 對象來直接訪問集合項: ~~~ var myMap = new Map<String,String>(); myMap.set("one", "doh"); myMap.set("two", "ray"); myMap.set("three", "me"); for (i in myMap.keys()) { myMap.set(i, myMap.get(i) + "#"); trace(myMap.get(i)); } trace(myMap.get("one")); ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看