Rumah > Artikel > hujung hadapan web > Bagaimana untuk menukar penimbal kepada tatasusunan dalam nodejs
Objek penimbal selalunya digunakan dalam Node.js untuk input dan output data, tetapi dalam beberapa senario penimbal perlu ditukar kepada tatasusunan. Artikel ini akan memperkenalkan cara menukar penimbal kepada tatasusunan dalam Node.js.
Mengenai objek penimbal
Objek penimbal ialah objek dalam Node.js yang mengkhusus dalam memproses data perduaan Ia serupa dengan tatasusunan, tetapi ia menyimpan bait bukannya integer 32-bit . Pelaksanaan asas objek penimbal menggunakan C++ untuk meningkatkan kecekapan dan membolehkan pembacaan dan penulisan cepat aliran data.
Dalam Node.js, kami biasanya menggunakan objek penimbal untuk komunikasi rangkaian, operasi fail, dsb. Objek penimbal mempunyai pelbagai senario penggunaan dan ia boleh dianggap sebagai salah satu teras Node.js.
Mengenai tatasusunan
Dalam pengaturcaraan konvensional, tatasusunan ialah salah satu jenis data yang paling biasa digunakan. Jenis data yang berbeza boleh disimpan dan boleh dikendalikan dalam pelbagai cara, seperti menambah, memadam, mengubah suai dan menyemak.
Array juga merupakan salah satu jenis data yang paling biasa digunakan dalam JavaScript. Tatasusunan JS amat fleksibel Mereka boleh menyimpan jenis data yang berbeza, dan banyak kaedah pengaturcaraan berfungsi boleh digunakan untuk beroperasi pada tatasusunan.
Buffer to Array
Dalam Node.js, kita selalunya perlu menukar penimbal kepada tatasusunan untuk operasi. Berikut ialah beberapa cara untuk menukar penimbal kepada tatasusunan:
function buffer2Array1(buf) { const arr = [] for (let i = 0; i < buf.length; i++) { arr.push(buf[i]) } return arr }
function buffer2Array2(buf) { return [...buf] }
function buffer2Array3(buf) { return Array.prototype.map.call(buf, (x) => x) }
function buffer2Array4(buf) { return Array.from(new Uint8Array(buf)) }
Antara kaedah di atas, kaedah pertama adalah yang paling mudah, tetapi ia sedikit tidak mencukupi dari segi prestasi. Kaedah kedua menggunakan operator penyebaran ringkas, yang meningkatkan prestasi berbanding kaedah pertama. Kaedah ketiga menggunakan fungsi Array.prototype.map ES5, yang mungkin lebih mudah dibaca, tetapi juga akan membawa beberapa kehilangan prestasi. Kaedah terakhir ialah menggunakan kaedah berkaitan ArrayBuffer untuk penukaran, yang menunjukkan prestasi yang agak lebih baik dari segi prestasi.
Contoh Demonstrasi
Dalam contoh mudah, anda boleh terus memanggil kaedah di atas untuk menukar penimbal kepada tatasusunan. Berikut ialah contoh aplikasi praktikal:
const fs = require('fs') const fileName = 'test.txt' fs.readFile(fileName, (err, data) => { if (err) { console.error(err) return } const arr1 = buffer2Array1(data) const arr2 = buffer2Array2(data) const arr3 = buffer2Array3(data) const arr4 = buffer2Array4(data) console.log(arr1) console.log(arr2) console.log(arr3) console.log(arr4) })
Dalam kod ini, kami menggunakan modul fs Node.js untuk membaca fail, kemudian menukarnya kepada tatasusunan dan menghasilkan empat kaedah hasil.
Ringkasan
Objek penimbal ialah objek dalam Node.js yang pakar dalam memproses data binari dan tatasusunan ialah salah satu jenis data yang biasa digunakan. Dalam Node.js, kita selalunya perlu menukar penimbal kepada tatasusunan untuk operasi. Artikel ini memperkenalkan empat kaedah untuk menukar penimbal kepada tatasusunan, dan menunjukkan senario aplikasi sebenar dengan contoh.
Atas ialah kandungan terperinci Bagaimana untuk menukar penimbal kepada tatasusunan dalam nodejs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!