posts - 48,comments - 156,trackbacks - 0

          Dojo 提供了一些數組處理方法,看看都有什么。

          1、元素定位

          dojo.indexOf(array,value)

          dojo.lastIndexOf(array,value)

          功能:返回 value 在 array 中的位置,如果沒有找到則返回-1

          下面是例子:

          dojo.indexOf(["a", "b", "c","a", "b", "c"], "c")

          dojo.lastIndexOf(["a", "b", "c","a", "b", "c"], "c")

           

          2、枚舉

          dojo.forEach(array,callback)

          或者

          array.forEach(callback)

          返回值:無

          功能:用 callback 函數處理 array 中的每一個元素

          例子,枚舉出我的博客里最近發表的文章

          function test_forEach(){
              var arr=dojo.query("li","RecentPosts");
              dojo.forEach(arr, function(item, i){
                  var li = dojo.doc.createElement("li");
                  li.innerHTML = i+1+"_ "+item.innerHTML;
                  dojo.byId("result_forEach").appendChild(li);
              });
          }

             

            3、枚舉并返回數組

            dojo.map(array,callback)

            或者

            array.map(callback)

            功能:用 callback 函數處理 array 中的每一個元素,并存進另外一個 array 中

            返回值:返回處理后的得到的 array

            例子:現有一個數組 [200, 300, 1500, 4500],將它每個元素增加10%

            function test_map(){
                
            var arr = [20030015004500];
                
            var afterMap = dojo.map(arr, function(item){
                    
            return item+(item/100)*10;
                }
            );

                dojo.forEach(afterMap, 
            function(item, i){
                    
            var li = dojo.doc.createElement("li");
                    li.innerHTML 
            = i+1+". New: "+item;
                    dojo.byId(
            "result_map").appendChild(li);
                }
            );
            }

               

              4、條件過濾

              dojo.filter(arr,callback)

              功能:用 callback 函數處理 array 中的每一個元素,將符合條件的元素存進返回數組中,并返回

              返回值:數組

              例子,把下面數組中 price 大于 30 的元素找出來

              [ {price:10,name:"蘋果"}, {price:20,name:"肉"}, {price:30,name:"油"}, {price:40,name:"汽車"}, {price:70,name:"杭州"}]

              function test_filter(){
                  
              var arr = [
                      
              {price:10,name:"蘋果"},
                      
              {price:20,name:""},
                      
              {price:30,name:""},
                      
              {price:40,name:"汽車"},
                      
              {price:70,name:"杭州"},
                  ];
                  
              var filteredArr = dojo.filter(arr, function(item){
                      
              return (item.price>30);
                  }
              );

                  dojo.forEach(filteredArr, 
              function(item, i){
                      
              var li = dojo.doc.createElement("li");
                      li.innerHTML 
              = i+1+""+item.name;
                      dojo.byId(
              "result_filter").appendChild(li);
                  }
              );
              }

                 

                5、至少有一個

                dojo.some(array,callback)

                功能:用 callback 函數處理 array 中的每一個元素,如果存在一個以上符合條件的元素則返回 true ,否則返回 false

                例子:[10203090]是否有大于50的元素

                function test_some(){
                    
                var res=dojo.some(
                    [
                10203090],
                    
                function(item){
                        
                return item>50
                    }
                );
                    alert(res);
                }


                 

                6、全部都

                dojo.every(array,callback)

                功能:用 callback 函數處理 array 中的每一個元素,所有元素都符合條件才返回 true ,否則返回 false

                例子:把上面例子中的 some 改成 every ,結果就不一樣了

                function test_every(){
                    
                var res=dojo.every(
                    [
                10203090],
                    
                function(item){
                        
                return item>50
                    }
                );
                    alert(res);
                }


                 版權聲明:本博客文章如非特別注明,均為原創,作者保留所有權利!歡迎轉載,轉載請注明作者左洸和出處BlogJava

                 

                所屬分類的其他文章:

              • 1. Dojo QuickStart 快速入門教程 (4) 簡單的測試框架
              • 2. Dojo QuickStart 快速入門教程 (3) 選擇器
              • 3. Dojo QuickStart 快速入門教程 (2) 基本框架
              • 4. Dojo QuickStart 快速入門教程 (1) Why Dojo

                 
                //==========================================

              • posted on 2009-05-18 10:08 左洸 閱讀(1516) 評論(2)  編輯  收藏

                FeedBack:
                # re: Dojo QuickStart 快速入門教程 (5) 使用數組[未登錄]
                2009-05-18 14:23 | tom
                項目里使用了grid  回復  更多評論
                  
                # re: Dojo QuickStart 快速入門教程 (5) 使用數組
                2009-05-18 15:37 | 陽衡鋒
                好希望有哪位介紹一下grid  回復  更多評論
                  

                只有注冊用戶登錄后才能發表評論。


                網站導航:
                 
                主站蜘蛛池模板: 泰宁县| 东台市| 桐庐县| 勃利县| 岳阳市| 子洲县| 楚雄市| 台北县| 昔阳县| 壤塘县| 佛冈县| 南丰县| 修水县| 辉南县| 彭山县| 凤阳县| 江西省| 安达市| 泽库县| 东山县| 门头沟区| 安仁县| 滦平县| 扬中市| 邹城市| 航空| 沛县| 咸宁市| 娱乐| 锡林郭勒盟| 荥经县| 马边| 彭水| 怀仁县| 涞源县| 庄河市| 淳化县| 盐边县| 临安市| 古交市| 太保市|