卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

jQuery map() 返回值竟然不是數(shù)組,怎么回事?

網(wǎng)友解答: 謝邀,不過您說的jQuery.map()方法返回值不是數(shù)組,應(yīng)該是不正確的,您是按照什么方式判斷返回的不是數(shù)組呢?如果有最好能截圖或者把代碼貼上來更有說服力。定義和用法$.m

網(wǎng)友解答:

謝邀,不過您說的jQuery.map()方法返回值不是數(shù)組,應(yīng)該是不正確的,您是按照什么方式判斷返回的不是數(shù)組呢?如果有最好能截圖或者把代碼貼上來更有說服力。

定義和用法

$.map() 把每個(gè)元素通過函數(shù)傳遞到當(dāng)前匹配集合中,生成包含返回值的新的 jQuery 對(duì)象,并將處理結(jié)果封裝為新的數(shù)組返回。

注意:

1. 在jQuery 1.6 之前,該函數(shù)只支持遍歷數(shù)組;從 1.6 開始,該函數(shù)也支持遍歷對(duì)象。

2. map()還會(huì)為函數(shù)傳入兩個(gè)參數(shù):其一是當(dāng)前迭代的元素或?qū)傩灾担涠钱?dāng)前迭代項(xiàng)的數(shù)組索引或?qū)ο髮傩悦?

3. 該函數(shù)返回值將作為結(jié)果數(shù)組中的一個(gè)元素,如果返回值為null或undefined,則不會(huì)被添加到結(jié)果數(shù)組中。

原型方法源碼

以下為網(wǎng)上搜集的一個(gè)牛人講解的$.map()源碼分析,我們只要看源碼的最后就知道返回的是什么類型數(shù)據(jù)了。

原型方法map跟each類似調(diào)用的是同名靜態(tài)方法,只不過返回來的數(shù)據(jù)必須經(jīng)過另一個(gè)原型方法pushStack方法處理之后才返回。

ret.concat.apply( [], ret )等價(jià)于[].concat.apply([],ret)。

關(guān)鍵作用的是apply,因?yàn)閍pply的第二個(gè)參數(shù)把ret的數(shù)組分成多個(gè)參數(shù)傳入給concat把二維數(shù)組轉(zhuǎn)化為一維數(shù)組返回了。

標(biāo)簽: