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

Node.js Buffer | Метод Buffer.lastIndexOf()

buf.lastIndexOf(value[, byteOffset][, encoding])

ВерсияИзменения
v8.0.0Теперь value он может быть собой Uint8Array.
v6.0.0Добавлено в: v6.0.0
  • value <строка> | <Буфер> | <Uint8Array> | <целое число> Что нужно искать.
  • byteOffset <целое число> С чего начать поиск в buf. Если отрицательно, то смещение рассчитывается с конца buf
  • По умолчанию: buf.length - 1.
  • encoding <строка> Если value является строкой, это кодировка, используемая для определения двоичного представления строки, которую будут искать в buf
  • По умолчанию: 'utf8'.
  • ВОЗВРАТ: <bigint> Индекс последнего появления value в buf, или -1 если buf не содержит value.

Идентично buf.indexOf(), за исключением последнего случая value встречается, а не в первом случае.

mport { Buffer } from 'buffer';

const buf = Buffer.from('this buffer is a buffer');

console.log(buf.lastIndexOf('this'));
// Prints: 0
console.log(buf.lastIndexOf('buffer'));
// Prints: 17
console.log(buf.lastIndexOf(Buffer.from('buffer')));
// Prints: 17
console.log(buf.lastIndexOf(97));
// Prints: 15 (97 is the decimal ASCII value for 'a')
console.log(buf.lastIndexOf(Buffer.from('yolo')));
// Prints: -1
console.log(buf.lastIndexOf('buffer', 5));
// Prints: 5
console.log(buf.lastIndexOf('buffer', 4));
// Prints: -1

const utf16Buffer = Buffer.from('\u039a\u0391\u03a3\u03a3\u0395', 'utf16le');

console.log(utf16Buffer.lastIndexOf('\u03a3', undefined, 'utf16le'));
// Prints: 6
console.log(utf16Buffer.lastIndexOf('\u03a3', -5, 'utf16le'));
// Prints: 4
const { Buffer } = require('buffer');

const buf = Buffer.from('this buffer is a buffer');

console.log(buf.lastIndexOf('this'));
// Prints: 0
console.log(buf.lastIndexOf('buffer'));
// Prints: 17
console.log(buf.lastIndexOf(Buffer.from('buffer')));
// Prints: 17
console.log(buf.lastIndexOf(97));
// Prints: 15 (97 is the decimal ASCII value for 'a')
console.log(buf.lastIndexOf(Buffer.from('yolo')));
// Prints: -1
console.log(buf.lastIndexOf('buffer', 5));
// Prints: 5
console.log(buf.lastIndexOf('buffer', 4));
// Prints: -1

const utf16Buffer = Buffer.from('\u039a\u0391\u03a3\u03a3\u0395', 'utf16le');

console.log(utf16Buffer.lastIndexOf('\u03a3', undefined, 'utf16le'));
// Prints: 6
console.log(utf16Buffer.lastIndexOf('\u03a3', -5, 'utf16le'));
// Prints: 4

Буфер — это временное хранилище памяти, в котором хранятся данные при их перемещении из одного места в другое. Это похоже на массив целых чисел.

Метод Buffer.lastIndexOf() проверяет наличие заданного значения в буфере и возвращает его индекс там, где оно присутствует. Если одно и то же значение присутствует более одного раза, то оно возвращает последний индекс, в котором присутствует значение.

Синтаксис:

Buffer.lastIndexOf( value, byteOffset, encoding )

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

  • value (ценность): Он определяет данные, которые необходимо найти в буфере.
  • byteOffset: Индекс, из которого вам нужно начать поиск в буфере. Его значение по умолчанию равно 0.
  • encoding (кодирование): Он содержит строковое значение, определяющее двоичное представление строки, которая ищет в буфере. Его значение по умолчанию-utf8.

Return Value (Возвращаемое Значение): Этот метод возвращает целое значение, представляющее значение индекса.

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

Пример 1:

// Node program to demonstrate the
// Buffer.lastIndexOf() Method

var buffer = Buffer.from('GeeksForGeeks');

console.log(buffer.lastIndexOf('G'));

Выход:

8

Пример 2:

// Node program to demonstrate the
// Buffer.lastIndexOf() Method

var buffer = Buffer.from('GeeksForGeeks');

console.log(buffer.lastIndexOf(101));
// Prints : 10
// 101 is the ascii value of 'e'
// e occurs last at index 10

console.log(buffer.lastIndexOf('computer portal'));
//Prints : -1
//as it is not present in the given value

Выход:

10
-1

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

Ссылка: https://nodejs.org/api/buffer.html#buffer_buf_lastindexof_value_byteoffset_encoding