Rumah  >  Artikel  >  hujung hadapan web  >  JavaScript menggantikan kunci objek

JavaScript menggantikan kunci objek

PHPz
PHPzasal
2023-05-09 18:27:083961semak imbas

Dalam pengaturcaraan JavaScript, operasi objek adalah keperluan yang sangat biasa. Selalunya perlu menukar nama kunci tertentu dalam objek. Walaupun JavaScript menyediakan banyak cara berbeza untuk memanipulasi objek, menggantikan kunci objek dengan kunci baharu boleh mencabar.

Dalam artikel ini, kita akan melihat beberapa cara berbeza untuk menggantikan kekunci objek dengan kekunci baharu dalam JavaScript. Kami akan membincangkan aspek berikut:

  1. Apakah penggantian kunci objek
  2. Cara melakukan penggantian kunci objek dalam JavaScript
  3. Menggunakan kaedah Object.assign() ES6 Ganti kekunci
  4. Gunakan kaedah pemusnahan objek ES6 untuk menggantikan kekunci
  5. Gunakan kaedah Object.entry() dan Object.fromEntries() untuk menggantikan kekunci

Apakah itu Object Key Penggantian

Penggantian Kunci Objek ialah operasi yang membolehkan kami menukar nama kunci tertentu dalam objek JavaScript. Ini berguna apabila anda perlu mendapatkan beberapa nilai daripada objek. Contohnya, apabila mendapatkan semula data objek melalui API, anda mungkin perlu memadankan kunci objek data yang dikembalikan dengan kunci yang digunakan dalam stor data setempat.

Cara menggantikan kekunci objek dalam JavaScript

Terdapat banyak cara berbeza untuk menggantikan kunci objek dalam JavaScript. Tiga kaedah yang paling biasa digunakan diterangkan di bawah.

  1. Anda boleh menukar kekunci objek dengan menyatakan nama sifat objek. Contohnya:
const obj = { oldName: "value" };
obj.newName = obj.oldName;
delete obj.oldName;

Dalam coretan kod di atas, kami melaksanakan penggantian kunci objek dengan mencipta nama kunci baharu, menyalin nilai nama kunci lama dan kemudian memadamkan nama kunci lama.

  1. Menggunakan Object.keys(), anda boleh mendapatkan senarai kunci objek dan menggunakan gelung forEach() untuk melelaran melalui setiap kekunci dan gunakan operator padam untuk memadamkan kekunci lama dan kemudian gunakan yang baharu kunci ke Nilai kunci lama disalin ke kunci baharu. Contohnya:
const obj = { oldName: "value" };
Object
  .keys(obj)
  .forEach(key => {
    if (key === "oldName") {
      obj.newName = obj[key];
      delete obj[key];
    }
  });

Gunakan Object.keys() secara setempat untuk mendapatkan kekunci daripada objek, kemudian gunakan pernyataan if untuk menyemak sama ada setiap kekunci sepadan dengan nama yang ingin anda ubah. Jika terdapat padanan, nilai akan disalin ke dalam kunci baharu dan kunci lama dipadamkan.

  1. Gunakan kaedah Object.assign() untuk menyalin nilai kunci baharu dan nilai kunci lama ke objek baharu dan padamkan nilai kunci lama. Contohnya:
const obj = { oldName: "value" };
const newObj = {};
newObj.newName = obj.oldName;
delete newObj.oldName;

Menggunakan kaedah Object.assign() ES6 untuk penggantian kunci

Menggunakan kaedah Object.assign() ES6 dan parameternya yang tersedia, kami boleh melakukan kekunci objek JavaScript dengan cekap Tugas penggantian. Object.assign() ialah kaedah yang menyalin objek sumber ke dalam objek sasaran dan mengembalikan objek sasaran. Oleh itu, kami boleh menghantar objek sumber dengan kunci baharu sebagai parameter untuk melaksanakan penggantian.

const obj = { oldName: "value" };
const newObj = Object.assign({}, obj, {newName: obj.oldName});
delete newObj.oldName;

Di sini, kami menggunakan Object.assign() untuk mencipta objek baharu dan menggunakan objek lama serta sifatnya sebagai objek sumber. Kemudian, menggunakan nama kunci baharu sebagai hujah yang berasingan, nyatakan nama itu sebagai sepadan dengan nama kunci lama yang ingin anda alih keluar. Akhirnya, penggantian kunci selesai dengan memadamkan kunci lama.

Gunakan kaedah pemusnahan objek ES6 untuk menggantikan kunci

Pemusnahan objek dalam ES6 menyediakan cara lain untuk menggantikan kunci objek JavaScript. Pemusnahan objek ialah kaedah memusnahkan sifat objek kepada pembolehubah berasingan, yang boleh mempunyai nama baharu (pembolehubah alias). Dengan menggunakan kunci baharu sebagai alias, kami boleh menjana operasi penggantian kunci yang diingini dengan memadamkan kunci lama.

const obj = { oldName: "value" };
const {oldName:newName, ...newObj} = obj;

Di sini, kami mengisytiharkan objek baharu dan mengalihkan semua sifat objek yang dikendalikan ke objek baharu melalui tugasan memusnahkan. Kami alias kekunci lama ke objek baharu dengan menggunakan "…" (pengendali penyebaran). Dengan cara ini, sintaks pemusnah sebenarnya membolehkan kami memberikan objek sasaran kami nama baharu untuk sebarang kunci sasaran (dipanggil alias).

Gunakan kaedah Object.entry() dan Object.fromEntries() untuk penggantian kunci

Object.entry() dan Object.fromEntries() ialah teknologi terkini, yang diperkenalkan dalam ES2019 . Kaedah ini menjadikannya sangat mudah untuk melakukan penggantian kunci objek.

const obj = { oldName: "value" };
const newObj = Object.fromEntries(
  Object.entries(obj)
    .map(([k, v]) => [k === "oldName" ? "newName" : k, v])
);

Di sini, kami menggunakan kaedah Object.entry() untuk mendapatkan senarai pasangan nilai kunci objek. Kami mengubah senarai ini menggunakan kaedah map(), menggantikan kekunci lama dengan kekunci baharu jika ia sepadan, dan kemudian menambah setiap pasangan nilai kunci baharu kepada objek baharu. Tukar senarai elemen yang ditukar kepada objek pasangan nilai kunci baharu menggunakan kaedah Object.fromEntries().

Kesimpulan

Penggantian kunci objek adalah sangat biasa untuk bekerja dengan data objek JavaScript. Kami melihat bahawa JavaScript menyediakan beberapa cara berbeza untuk mencapai ini melalui penggantian kunci objek JavaScript. Sangat mudah untuk memadam dan menamakan semula kunci dalam objek JavaScript menggunakan kaedah standard ES6. Untuk ini, kita boleh menggunakan kaedah Object.assign(), penstrukturan objek, Object.keys() dan Object.entry() kaedah. Semua strategi ini mengejar prestasi maksimum, kemudahan penggunaan dan kebolehbacaan.

Atas ialah kandungan terperinci JavaScript menggantikan kunci objek. 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