useSearch
Возвращает массив индексов элементов массива data, для которых в поле fieldName найдено value. Поиск возможен только по строковым значениям. По умолчанию поиск происходит во всех полях.
Синхронный метод.
Параметры
data: Array
Массив объектов, в которых выполняется поиск.
settings: { value: string, fieldName: string, fieldType: string }
value
Искомая строка.
fieldName
Имя поля для поиска. По умолчанию имеет значение '*', что означает поиск во всех полях.
fieldType
Тип данных поля. Поддерживается только тип string
.
Примеры
Следующий пример демонстрирует поиск строки высотой
в массиве array
. Результирующий массив searchResult
содержит индекс 3
массива array
, поскольку строка высотой
найдена в третьем элементе этого массива.
const array = [
{ id: '1', subject: 'ObjectObject', object: '1.10.2022', type: 1, permission: 'permission1' },
{ id: '2', subject: '1', object: '2.10.2022', type: 1, permission: 'permission1', selected: true },
{ id: '3', subject: 'Строка с указанной в 100 пикселей высотой', object: '3.10.2022', type: 2 },
];
const searchResult = useSearch(array, {value: "высотой"});
Возвращаемое значение
Array<{ index: number }>
Массив объектов с полем index
, которое содержит позицию элемента в исходном массиве data
.