Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Menukar Objek JSON Berkunci Berangka dengan Cekap kepada Tatasusunan dalam JavaScript?

Bagaimanakah Saya Boleh Menukar Objek JSON Berkunci Berangka dengan Cekap kepada Tatasusunan dalam JavaScript?

Linda Hamilton
Linda Hamiltonasal
2024-12-13 09:24:12149semak imbas

How Can I Efficiently Convert Numeric-Keyed JSON Objects to Arrays in JavaScript?

Menukar Objek Berkunci Numerik kepada Tatasusunan

Apabila bekerja dengan respons JSON yang menyertakan objek dengan kekunci angka, anda mungkin menghadapi keperluan untuk menukar mereka ke dalam tatasusunan. Walaupun penyelesaian biasa melibatkan gelung yang rumit, terdapat pendekatan yang lebih cekap dan mudah.

jQuery's $.map

Satu kaedah menggunakan jQuery's $.map fungsi:

var arr = $.map(obj, function(el) { return el });

Kaedah ini berulang pada sifat objek dan mengembalikan nilai yang sepadan.

Array.map

Tanpa jQuery, anda boleh menggunakan Array.map bersama-sama dengan Object.keys:

var arr = Object.keys(obj).map(function(k) { return obj[k] });

Di sini, Object.keys menukar kunci objek kepada tatasusunan dan Array.map mendapatkan semula nilai yang dikaitkan dengannya kunci.

Object.values ​​(ES2015)

Dalam JavaScript moden (ES2015 dan lebih baru), Object.values ​​menawarkan penyelesaian ringkas:

var arr = Object.values(obj);

Fungsi ini mengembalikan secara langsung tatasusunan objek nilai.

Nota:

Kaedah ini menganggap respons JSON telah dihuraikan sebagai objek JavaScript. Jika ia masih dalam format rentetan JSON, anda perlu menggunakan JSON.parse dahulu:

var obj = JSON.parse(jsonString);
var arr = Object.values(obj);

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Objek JSON Berkunci Berangka dengan Cekap kepada Tatasusunan 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