jasmine214--love

          只有當(dāng)你的內(nèi)心總是充滿快樂(lè)、美好的愿望和寧?kù)o時(shí),你才能擁有強(qiáng)壯的體魄和明朗、快樂(lè)或者寧?kù)o的面容。
          posts - 731, comments - 60, trackbacks - 0, articles - 0

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

          Posted on 2010-07-20 10:37 幻海藍(lán)夢(mèng) 閱讀(4665) 評(píng)論(0)  編輯  收藏 所屬分類: JS

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

          數(shù)組在平時(shí)越用越多,可惜它自身沒(méi)有一個(gè)遍歷的方法

          下面這樣是最簡(jiǎn)單的一個(gè)簡(jiǎn)歷方法,直接設(shè)置數(shù)組對(duì)象的

          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. //遍歷一個(gè)數(shù)組如果是它是數(shù)組,就把它乘以10再輸出 ??
          2. var ?testArray?=?[1,2, '我' , '不' ,3,5];??
          3. testArray.each( function( value ){??
          4. ????typeof?value?==?'number'???alert( value *10 ):null;??
          5. })??

          改變一個(gè)數(shù)組的內(nèi)容

          JavaScript代碼
          1. //遍歷每個(gè)元素并且在它的前面加上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. })??

          如果是一個(gè)多維數(shù)組呢?不停地調(diào)each就行了,下面修改each方法

          JavaScript代碼
          1. //首先引入一個(gè)isArray函數(shù),這個(gè)函數(shù)非常有用,必備~ ??
          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. }??

          下面可以試驗(yàn)一下

          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. })??
          主站蜘蛛池模板: 白河县| 乳源| 增城市| 双牌县| 无棣县| 西乌珠穆沁旗| 郎溪县| 天全县| 正宁县| 如皋市| 龙川县| 科尔| 丹阳市| 赤水市| 孝义市| 克山县| 曲沃县| 长宁区| 怀远县| 中超| 黎平县| 岳阳县| 太原市| 乌兰浩特市| 武平县| 伊通| 沂南县| 兴化市| 改则县| 榆树市| 泸水县| 永康市| 大新县| 太仆寺旗| 海原县| 德惠市| 德安县| 咸丰县| 凌源市| 湖州市| 平阴县|