You are currently viewing Node.js Метод Buffer.subarray()

Node.js Метод Buffer.subarray()

То метод buffer.subarray() представляет собой встроенный интерфейс прикладного программирования буферного модуля, который используется для обрезки части массива, т. е. создания подмассива из массива.

Синтаксис:

Buffer.subarray( starting_index, ending_index )

Параметры: Этот метод имеет два параметра, как указано выше и описано ниже:

  • starting_index (начальный индекс): Этот параметр задает целое значение, которое обозначает начальный адрес буфера, с которого будет начинаться новый буфер. Его значение по умолчанию равно 0.
  • ending_index (окончание_индекс): Он задает целое значение, которое обозначает конечный адрес буфера, до которого будет создан новый буфер. Значение по умолчанию-длина буфера.

Return Value (Возвращаемое Значение): Этот метод возвращает обрезанный массив. Этот буфер указывает на ту же память, но с обрезанными начальными и конечными индексами. Если ending_index в параметре больше, чем длина буфера, то длина буфера принимается за конечный индекс.

Примечание: Если новый буфер будет изменен, то то же самое будет отражено в исходном буфере, поскольку они указывают на ту же память.

Ниже приведены примеры, иллюстрирующие использование метод buffer.subarray() в Node.js:

Пример 1:

// Node.js program to demonstrate the
// Buffer.subarray() method

// Allocating buffer
const buf = Buffer.from('GeeksforGeeks', 'ascii');

// Printing original buffer
console.log("Original buffer is: " + buf);

// Cropping buffer, here starting index
// is 5 and ending endex is 10
cropped_buf = buf.subarray(5, 10);

// Printing cropped buffer
console.log("Cropped buffer is: " + cropped_buf);

// Modifying cropped buffer
cropped_buf[0] = 70; // F
cropped_buf[1] = 79; // O
cropped_buf[2] = 82; // R

// Printing cropped buffer
console.log("Cropped buffer after modification is: " + cropped_buf);

// Printing original buffer
console.log("Original buffer after modification is: " + buf);

Выход:

Original buffer is: GeeksforGeeks
Cropped buffer is: forGe
Cropped buffer after modification is: FORGe
Original buffer after modification is: GeeksFORGeeks

Пример 2:

// Node.js program to demonstrate the
// Buffer.subarray() method

// Allocating buffer
const buf = Buffer.from('GeeksforGeeks', 'ascii');

// Printing original buffer
console.log("Original buffer is: " + buf);

// Cropping buffer, here starting index
// is -10 and ending endex is -1
cropped_buf = buf.subarray(-12, -1);

// Printing cropped buffer
console.log("Cropped buffer is:" + cropped_buf);

// Cropping buffer again, here starting
// index is -10 and ending endex is -5
cropped_buf = buf.subarray(-10, -5);

// Printing cropped buffer
console.log("Cropped buffer is: " + cropped_buf);

// Cropping buffer again with no parameter
cropped_buf = buf.subarray();

// Printing cropped buffer
console.log("Cropped buffer is: " + cropped_buf);

Выход:

Original buffer is: GeeksforGeeks
Cropped buffer is:eeksforGeek
Cropped buffer is: ksfor
Cropped buffer is: GeeksforGeeks

Примечание: Вышеуказанная программа будет скомпилирована и запущена с помощью node index.js