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
встречается, а не в первом случае.
ESMmport { 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
CJSconst { 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