Rumah  >  Artikel  >  hujung hadapan web  >  Apakah kegunaan kaedah tatasusunan map() dalam ecmascript 5?

Apakah kegunaan kaedah tatasusunan map() dalam ecmascript 5?

青灯夜游
青灯夜游asal
2021-12-07 14:15:291587semak imbas

Dalam ecmascript, kaedah map() boleh memanggil fungsi panggil balik yang ditentukan untuk setiap elemen tatasusunan dan mengembalikan tatasusunan yang mengandungi hasil sintaks "array.map(function(currentValue,index,arr) , thisValue )".

Apakah kegunaan kaedah tatasusunan map() dalam ecmascript 5?

Persekitaran pengendalian tutorial ini: sistem Windows 7, versi JavaScript 1.8.5, komputer Dell G3.

Kaedah map() boleh memanggil fungsi panggil balik yang ditentukan untuk setiap elemen tatasusunan dan mengembalikan tatasusunan yang mengandungi keputusan.

Kaedah map() memproses elemen secara berurutan dalam susunan elemen tatasusunan asal.

Sintaks

array.map(function(currentValue,index,arr), thisValue)
Parameter Penerangan
fungsi(currentValue, index,arr)
参数 描述
function(currentValue, index,arr)

必须。函数,数组中的每个元素都会执行这个函数。

函数参数:

  • currentValue 必须。当前元素的值

  • index 可选。当前元素的索引值

  • arr 可选。当前元素属于的数组对象

thisValue 可选。对象作为该执行回调时使用,传递给函数,用作 "this" 的值。
如果省略了 thisValue,或者传入 null、undefined,那么回调函数的 this 为全局对象。
Mestilah. Fungsi, setiap elemen dalam tatasusunan akan melaksanakan fungsi ini.


Parameter fungsi:

  • currentValue diperlukan. Nilai elemen semasa

  • indeks adalah pilihan. Nilai indeks unsur semasa

  • 回调函数修改数组的影响
    map 方法启动后的条件 元素是否传递给回调函数
    在数组的原始长度之外添加元素
    添加元素以填充数组中缺少的元素 是,如果该索引尚未传递给回调函数
    元素已更改 是,如果该元素尚未传递给回调函数
    从数组中删除元素 否,除非该元素已传递给回调函数
    arr Pilihan. Objek tatasusunan

thisValue pilihan. Objek digunakan sebagai panggilan balik pelaksanaan, dihantar ke fungsi, dan digunakan sebagai nilai "ini". Jika thisValue diabaikan, atau null atau undefined diluluskan, maka this of the callback function ialah objek global.
Kaedah map() akan mengembalikan tatasusunan baharu, di mana setiap elemen ialah nilai pulangan fungsi panggil balik bagi elemen tatasusunan asal yang berkaitan. Untuk setiap elemen dalam tatasusunan, kaedah map() memanggil fungsi callbackfn sekali (dalam susunan indeks menaik) dan tidak memanggil fungsi panggil balik untuk elemen yang hilang dalam tatasusunan.

Selain objek tatasusunan, kaedah map() boleh digunakan oleh mana-mana objek dengan sifat panjang yang mempunyai nama sifat diindeks, seperti objek parameter Argumen.
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);

Kaedah map() tidak mengubah suai tatasusunan asal secara langsung, tetapi fungsi panggil balik boleh mengubah suainya. Keputusan yang diperoleh dengan mengubah suai objek tatasusunan selepas kaedah peta dimulakan ditunjukkan dalam jadual. Apakah kegunaan kaedah tatasusunan map() dalam ecmascript 5?

Contoh 1

Contoh berikut menggunakan kaedah map() untuk memetakan tatasusunan, kuasa duakan nilai setiap elemen dalam tatasusunan, darabkannya dengan nilai PI, dan pulangan Nilai kawasan bulatan digunakan sebagai nilai elemen tatasusunan baharu, dan akhirnya tatasusunan baharu dikembalikan.

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

Apakah kegunaan kaedah tatasusunan map() dalam ecmascript 5?

Contoh 2

Contoh berikut menggunakan kaedah map() untuk memetakan tatasusunan dan meletakkan nilai setiap elemen dalam tatasusunan Bahagikan dengan ambang, dan kemudian kembalikan tatasusunan baharu ini di mana fungsi panggil balik dan ambang wujud sebagai sifat objek Kaedah ini menunjukkan cara menggunakan parameter thisArg dalam peta.

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

Apakah kegunaan kaedah tatasusunan map() dalam ecmascript 5?

Contoh 3

Contoh berikut menunjukkan cara menggunakan kaedah terbina dalam JavaScript sebagai fungsi panggil balik.

function f (value, index, str) {
    return str.substring(index - 1, index + 2);
}
var s = "Thursday";
var a = [].map.call(s, f);
console.log(a);  //Th,Thu,hur,urs,rsd,sda,day,ay

Apakah kegunaan kaedah tatasusunan map() dalam ecmascript 5?

Contoh 4Contoh berikut menunjukkan cara menggunakan kaedah peta pada tatasusunan kelas. Dalam contoh, peta digunakan pada rentetan melalui kaedah panggilan dinamik (Panggilan Kemudian peta akan merentasi setiap aksara dalam rentetan dan memanggil fungsi panggil balik threeChars untuk memintas tiga aksara ke kiri dan kanan setiap aksara dan memetakannya). ke dalam tatasusunan baharu.

[Cadangan berkaitan: tutorial pembelajaran javascript]

Atas ialah kandungan terperinci Apakah kegunaan kaedah tatasusunan map() dalam ecmascript 5?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn