Перейти к основному содержимому

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.