То метод 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