Rumah  >  Artikel  >  hujung hadapan web  >  Mengapa Array.prototype.Push Mengembalikan Panjang Array Baharu?

Mengapa Array.prototype.Push Mengembalikan Panjang Array Baharu?

Patricia Arquette
Patricia Arquetteasal
2024-10-22 11:54:02538semak imbas

Why Does Array.prototype.Push Return the New Array Length?

Mengapa Array.prototype.push Mengembalikan Panjang Tatasusunan Baharu?

Dalam JavaScript, kaedah Array.prototype.push dengan mudah membenarkan penambahan elemen ke penghujung tatasusunan. Walau bagaimanapun, keanehannya terletak pada mengembalikan panjang tatasusunan baharu dan bukannya sesuatu yang kelihatan lebih berharga.

Keputusan ini bermula sejak permulaan push dalam JavaScript 1.2 pada tahun 1997. Diilhamkan oleh fungsi manipulasi tatasusunan Perl, JS1.2 push pada mulanya mengembalikan item terakhir yang ditolak, mematuhi konvensyen Perl 4.

Apabila JavaScript berkembang kepada JS1.3, perubahan ketara berlaku. Fungsi tolak telah diubah suai untuk mengikuti konvensyen Perl 5, yang menentukan pengembalian panjang tatasusunan baharu. Keputusan ini boleh dikesan kembali kepada kod sumber jsarray.c asal, di mana ia telah menyatakan bahawa, sekiranya JavaScript 1.2, fungsi itu harus mengembalikan item terakhir yang ditolak, manakala untuk versi lain, ia harus mengembalikan panjang baharu.

Perlu diingat bahawa pilihan yang kelihatan tidak penting ini mempunyai implikasi yang ketara. Dengan mengembalikan panjang baharu, tolak membolehkan kebolehan rantaian yang mudah, membolehkan operasi seterusnya dilakukan pada tatasusunan yang diubah suai tanpa perlu menetapkannya semula. Sebagai contoh, seseorang boleh menggabungkan tatasusunan dan mengisih semuanya dalam satu baris kod:

const result = [1, 2].push(3).push(4).sort();
console.log(result); // Output: [1, 2, 3, 4]

Selain itu, mengembalikan panjang baharu menyediakan antara muka yang konsisten merentas semua kaedah manipulasi tatasusunan, seperti pop dan shift, yang juga mengembalikan panjang yang diubah dan bukannya elemen yang dialih keluar. Keseragaman ini memudahkan penggunaan dan mengurangkan overhed kognitif untuk pembangun.

Atas ialah kandungan terperinci Mengapa Array.prototype.Push Mengembalikan Panjang Array Baharu?. 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