1. 程式人生 > >JavaScript Array map() 方法

JavaScript Array map() 方法

Array map() 方法

通過指定函式處理陣列的每個元素,並返回處理後的陣列。map() 方法返回一個新陣列,陣列中的元素為原始陣列元素呼叫函式處理後的值。

map() 方法按照原始陣列元素順序依次處理元素, map() 不會對空陣列進行檢測,map() 不會改變原始陣列。

語法:array.map(function(currentValue,index,arr), thisValue)

引數 描述
function(currentValue, index,arr) 必須。函式,陣列中的每個元素都會執行這個函式 函式引數:
引數 描述
currentValue 必須。當前元素的值
index 可選。當前元素的索引值,從0開始
arr 可選。當前元素屬於的陣列物件
thisValue 可選。物件作為該執行回撥時使用,傳遞給函式,用作 "this" 的值。 如果省略了 thisValue ,"this" 的值為 "undefined"

JavaScript 版本:    1.6

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
    <title>箭頭函式</title>
    <script src="http://code.jquery.com/jquery-2.1.1.min.js"></script>

    <!-- ES6 時,script 的 type 需要標識成 module,否則箭頭函式編譯不通過,即無法識別-->
    <script type="module">
        $(function () {
            let arr1 = [1, 2, 3, 4, 5];
            /**
             * 通過指定函式處理陣列的每個元素,並返回處理後的陣列。
             * 如下所示對陣列中的每個元素進行平方操作
             * @type {Array}
             */
            let arr2 = arr1.map(function (currentValue, index) {
                console.log("當前處理陣列元素,index=" + index + ",value=" + currentValue);
                return currentValue * currentValue;
            });
            console.log(arr1.toString());//原陣列的值不變
            console.log(arr2.toString());//新陣列的值為原陣列的值的平方
        });
    </script>
</head>
<body>
</body>
</html>