我發現this例如,上面寫着:理解jQuery的地圖
var arr=$.map([0,1,2],function(n){
return [n,n+1];
});
將使arr
6項數組。但是,我不明白爲什麼它不是[[x,y],[x,y],[x,y]]
我需要逐步瞭解剛剛發生的事情。這個map
函數看起來非常有用,我不願意僅僅因爲我不瞭解它的行爲而使用它。
我發現this例如,上面寫着:理解jQuery的地圖
var arr=$.map([0,1,2],function(n){
return [n,n+1];
});
將使arr
6項數組。但是,我不明白爲什麼它不是[[x,y],[x,y],[x,y]]
我需要逐步瞭解剛剛發生的事情。這個map
函數看起來非常有用,我不願意僅僅因爲我不瞭解它的行爲而使用它。
不能相信我錯過了......呃,我想在閱讀時聽Metallica時會失去一些焦點。編輯:我會接受像40分鐘內的答案,我真的必須去 – mithril333221 2012-02-05 23:08:07
@ mithril333221一個人會失去生活的意願它是*聖。憤怒*;) – alex 2012-02-05 23:08:46
您可以雙擊包裹返回的數組,以避免扁平輸出。
var arr=$.map([0,1,2],function(n){
// v--------------v----- flattened
return [ [ n, n + 1 ] ];
// ^----------^------- inserted
});
arr; // [[0,1],[1,2],[2,3]]
IMO,你會更好使用標準.map()
函數,而不是jQuery的非標之一。
var arr=[0,1,2].map(function(n){
return [ n, n + 1 ];
});
對於不受支持的瀏覽器,您可以使用compatibility patch from MDN。
$.map([0,1,2], function(n){
return n + 4;
});
結果:[4,5,6]
$.map([0,1,2], function(n){
return [ n, n + 1 ];
});
結果:[0,1,1,2,2,3]
可以在返回檢查性差異
您是否正在尋找一個超出*數組值的數組,該數組將被展平成完整數組*,存在於該頁中? – lonesomeday 2012-02-05 23:04:40