jasmine214--love

          只有當你的內心總是充滿快樂、美好的愿望和寧靜時,你才能擁有強壯的體魄和明朗、快樂或者寧靜的面容。
          posts - 731, comments - 60, trackbacks - 0, articles - 0

          JS --Hash/Array--(遍歷)each方法

          Posted on 2010-07-20 10:37 幻海藍夢 閱讀(4664) 評論(0)  編輯  收藏 所屬分類: JS

          原文:http://www.02web.com/hublog/article.asp?id=344

          數組在平時越用越多,可惜它自身沒有一個遍歷的方法

          下面這樣是最簡單的一個簡歷方法,直接設置數組對象的

          JavaScript代碼
          1. Array.prototype.each?=? function (?callback ){??
          2. for (? var ?i?=?0?,j?=? this .length?;?i?<?j?;?i++?){??
          3. ????callback.call( this, this[i], i );??
          4. ????}?????
          5. ?}??

          上面的可以這樣使用

          JavaScript代碼
          1. //遍歷一個數組如果是它是數組,就把它乘以10再輸出 ??
          2. var ?testArray?=?[1,2, '我' , '不' ,3,5];??
          3. testArray.each( function( value ){??
          4. ????typeof?value?==?'number'???alert( value *10 ):null;??
          5. })??

          改變一個數組的內容

          JavaScript代碼
          1. //遍歷每個元素并且在它的前面加上chinese ??
          2. var ?testArray?=?[1,2, '我' , '不' ,3,5];??
          3. ????testArray.each( function( value, index ){??
          4. ????????this[index]?=?'chinese'?+?value;??
          5. })??
          6. ??
          7. testArray.each( function( v ){??
          8. ????alert(v);??
          9. })??

          如果是一個多維數組呢?不停地調each就行了,下面修改each方法

          JavaScript代碼
          1. //首先引入一個isArray函數,這個函數非常有用,必備~ ??
          2. isArray?=?function( arrayObj ){??
          3. ????return?arrayObj?&&??
          4. ???????typeof?arrayObj?===?'object'?&&??
          5. ???????typeof?arrayObj.length?===?'number'?&&??
          6. ???????typeof?arrayObj.splice?===?'function'???
          7. ????}??
          8. ??
          9. Array.prototype.each?=?function(?callback){??
          10. ??for(?var?i?=?0?,j?=?this.length?;?i?<?j?;?i++){???
          11. ???isArray( this [i] )? this [i].each( callback ):?
            ???????callback.call( this, this[i], i );??
          12. ???}??????
          13. }??

          下面可以試驗一下

          JavaScript代碼
          1. var ?testArray?=?[1,2,[ 'sdf' , '2sdf' ],[12313,[[34,45]]]];??
          2. testArray.each(function(v){??
          3. ????alert(v);?//輸出1,2,sdf,2sdf,12313,34,45??
          4. })??
          主站蜘蛛池模板: 梅河口市| 临朐县| 专栏| 安丘市| 松阳县| 民乐县| 霍山县| 建始县| 平昌县| 获嘉县| 祁阳县| 沙洋县| 灵璧县| 全南县| 大荔县| 杨浦区| 无为县| 海宁市| 阿拉善盟| 苏州市| 永顺县| 虎林市| 多伦县| 威远县| 灵璧县| 青海省| 垣曲县| 林周县| 哈尔滨市| 阿瓦提县| 巩义市| 江口县| 焉耆| 桐庐县| 三原县| 东乌珠穆沁旗| 玛纳斯县| 金山区| 万年县| 东山县| 禹州市|