Rumah >hujung hadapan web >tutorial js >Bagaimanakah saya boleh memilih harta rawak daripada objek JavaScript dengan ringkas?

Bagaimanakah saya boleh memilih harta rawak daripada objek JavaScript dengan ringkas?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-26 06:41:30748semak imbas

How can I select a random property from a JavaScript object concisely?

Memilih Harta Rawak daripada Objek JavaScript Dengan Ringkas

Dalam JavaScript, objek ialah pasangan nilai kunci yang disimpan dalam jadual cincang. Mendapatkan semula sifat tertentu daripada objek memerlukan mengetahui kunci sifat yang tepat. Walau bagaimanapun, kadangkala adalah wajar untuk memilih sifat rawak daripada objek.

Pendekatan biasa melibatkan lelaran ke atas sifat objek, mengiranya dan kemudian menjana integer rawak dalam julat itu. Menggunakan pendekatan ini, anda akan mengulangi objek sekali untuk menentukan panjang dan kemudian mengulang sekali lagi untuk mencari sifat rawak pada indeks tersebut.

Walau bagaimanapun, terdapat cara yang lebih ringkas dan selalunya lebih pantas untuk mencapai matlamat ini:

<code class="javascript">var randomProperty = function (obj) {
    var keys = Object.keys(obj);
    return obj[keys[ keys.length * Math.random() << 0]];
};</code>

Pendekatan ini menggunakan kaedah Object.keys(), yang mengembalikan tatasusunan semua kunci sifat dalam objek. Dengan mendarab panjang tatasusunan ini dengan nilai rawak kurang daripada 1 (menggunakan peralihan bit), kami memperoleh indeks rawak dalam tatasusunan. Pengindeksan ke dalam tatasusunan dengan indeks rawak ini menyediakan kunci sifat yang dipilih. Akhir sekali, mengakses objek menggunakan kunci ini mendapatkan semula nilai sifat yang berkaitan.

Kaedah ini lebih ringkas dan selalunya berfungsi lebih pantas daripada pendekatan berulang, menjadikannya pilihan pilihan untuk memilih sifat rawak daripada objek JavaScript.

Atas ialah kandungan terperinci Bagaimanakah saya boleh memilih harta rawak daripada objek JavaScript dengan ringkas?. 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