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