首頁  >  工具  > $.map(arr|obj,callback)

返回值:Array jQuery.map(arr|obj,callback)

概述

將一個陣列中的元素轉換到另一個陣列中。

作為參數的轉換函式會為每個陣列元素呼叫,而且會給這個轉換函式傳遞一個表示被轉換的元素作為參數。轉換函式可以返回轉換后的值、null(刪除陣列中的專案)或一個包含值的陣列,並擴充套件至原始陣列中。

參數

array,callback Array,Function V1.0

array :待轉換陣列。

callback Array :為每個陣列元素呼叫,而且會給這個轉換函式傳遞一個表示被轉換的元素作為參數。函式可返回任何值。另外,此函式可設定為一個字串,當設定為字串時,將視為“lambda-form”(縮寫形式?),其中 a 代表陣列元素。如“a * a”代表“function(a){ return a * a; }”。

arrayOrObject,callback Array/Object,Function V1.6

arrayOrObject :陣列或者對象。

為每個陣列元素呼叫,而且會給這個轉換函式傳遞一個表示被轉換的元素作為參數。函式可返回任何值。另外,此函式可設定為一個字串,當設定為字串時,將視為「lambda-form」(縮寫形式?),其中 a 代表陣列元素。如「a * a」代表「function(a){ return a * a; }」。

示例

描述:

將原陣列中每個元素加 4 轉換為一個新陣列。

jQuery 程式碼:

$.map( [0,1,2], function(n){
  return n + 4;
});
結果:

[4, 5, 6]

描述:

原陣列中大於 0 的元素加 1 ,否則刪除。

jQuery 程式碼:

$.map( [0,1,2], function(n){
  return n > 0 ? n + 1 : null;
});
結果:

[2, 3]

描述:

原陣列中每個元素擴充套件為一個包含其本身和其值加 1 的陣列,並轉換為一個新陣列。

jQuery 程式碼:

$.map( [0,1,2], function(n){
  return [ n, n + 1 ];
});
結果:

[0, 1, 1, 2, 2, 3]