Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mencipta Fungsi Peta untuk Objek dalam JavaScript?

Bagaimanakah Saya Boleh Mencipta Fungsi Peta untuk Objek dalam JavaScript?

Patricia Arquette
Patricia Arquetteasal
2024-12-18 07:46:13656semak imbas

How Can I Create a Map Function for Objects in JavaScript?

Mencipta Fungsi Peta untuk Objek dalam JavaScript (Alternatif kepada Array.map)

Dalam JavaScript, Array.prototype.map() kaedah digunakan secara meluas untuk lelaran ke atas tatasusunan dan menggunakan fungsi tertentu untuk setiap elemen. Walau bagaimanapun, tiada kaedah asli yang serupa wujud untuk objek. Artikel ini meneroka penyelesaian kepada had ini dengan memperkenalkan fungsi peta tersuai untuk objek.

Masalahnya:

Pertimbangkan objek dengan pasangan nilai kunci:

myObject = {
  'a': 1,
  'b': 2,
  'c': 3
};

Matlamatnya adalah untuk mencipta objek baharu di mana setiap nilai diubah oleh fungsi tertentu. Sebagai contoh, mari kita gandakan nilai:

newObject = myObject.map(function(value, label) {
  return value * 2;
});

// newObject should now be { 'a': 2, 'b': 4, 'c': 6 }

Penyelesaian:

Walaupun JavaScript tidak mempunyai fungsi peta asli untuk objek, terdapat penyelesaian yang elegan menggunakan Objek. kaedah keys() dan forEach():

var myObject = {
  'a': 1,
  'b': 2,
  'c': 3
};

Object.keys(myObject).forEach(function(key, index) {
  myObject[key] *= 2;
});

console.log(myObject);
// Output: { 'a': 2, 'b': 4, 'c': 6 }

Dalam ini kod:

  • Object.keys(myObject) mengembalikan tatasusunan nama sifat objek.
  • Kaedah forEach() berulang ke atas tatasusunan ini.
  • Untuk setiap harta, kami mengakses nilainya menggunakan myObject[kunci] dan menggunakan transformasi (darab dengan 2) secara langsung pada objek.

Pendekatan ini mengubah suai objek asal pada tempatnya, yang mungkin tidak diingini dalam senario tertentu. Untuk mencipta objek baharu dengan nilai yang diubah, hanya klon objek asal sebelum menggunakan transformasi.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta Fungsi Peta untuk Objek dalam JavaScript?. 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