javascript陣列有map方法嗎

2022-09-13 22:00:54

javascript陣列有map方法。在javascript中,陣列的map()方法用於對陣列的每個元素呼叫指定的回撥函數,並返回包含結果的陣列;語法格式為「array.map(回撥函數, thisValue);」。map()方法將返回一個新陣列,其中每個元素均為關聯的原始陣列元素的回撥函數返回值;對於陣列中的每個元素,map()方法都會呼叫回撥函數一次(採用升序索引順序)。

前端(vue)入門到精通課程:進入學習

本教學操作環境:windows7系統、ECMAScript 6版、Dell G3電腦。

javascript陣列有map方法。

javascript 陣列map()方法

map()方法可以對陣列的每個元素呼叫指定的回撥函數進行處理,並返回包含結果的陣列。

map() 方法按照原始陣列元素順序依次處理元素。

語法

array.map(function(currentValue,index,arr), thisValue)
引數描述
function(currentValue, index,arr)

必須。函數,陣列中的每個元素都會執行這個函數。

函數引數:

  • currentValue 必須。當前元素的值

  • index 可選。當前元素的索引值

  • arr 可選。當前元素屬於的陣列物件

thisValue可選。物件作為該執行回撥時使用,傳遞給函數,用作 "this" 的值。
如果省略了 thisValue,或者傳入 null、undefined,那麼回撥函數的 this 為全域性物件。

map() 方法將返回一個新陣列,其中每個元素均為關聯的原始陣列元素的回撥函數返回值。對於陣列中的每個元素,map() 方法都會呼叫 回撥 函數一次(採用升序索引順序),並不會為陣列中缺少的元素呼叫回撥函數。

除了陣列物件之外,map() 方法可由具有 length 屬性,且具有已按編制索引的屬性名的任何物件使用,如 Arguments 引數物件。

下面通過程式碼範例來具體瞭解一下:

範例1

下面範例使用 map() 方法對映陣列,把陣列中每個元素的值平方,乘以 PI 值,把返回的圓的面積值作為新陣列的元素值,最後返回這個新陣列。

function f (radius) {
    var area = Math.PI * (radius * radius);
    return area.toFixed(0);
}
var a = [10,20,30];
var a1 = a.map(f);
console.log(a1);

1.png

範例2

下面範例使用 map() 方法對映陣列,把陣列中每個元素的值除以一個閾值,然後返回這個新陣列其中回撥函數和閾值都以物件的屬性存在,通過這種方法演示如何在 map 中使用 thisArg 引數。

var obj = {
    val : 10,
    f : function (value) {
        return value % this.val;
    }
}
var a = [6,12,25,30];
var a1 = a.map(obj.f, obj);
console.log(a1);  //6,2,5,0

2.png

範例3

下面範例演示如何使用 JavaScript 內建方法作為回撥函數。

var a = [9, 16];
var a1 = a.map(Math.sqrt);
console.log(a1);  //3,4

3.png

【推薦學習:、】

以上就是javascript陣列有map方法嗎的詳細內容,更多請關注TW511.COM其它相關文章!