array-table-search
Search on an array that are that holds data for tables
Table of Contents
Why?
I wanted to have a simple way to search on multiple columns on a table component in react.
Installation
$ npm i array-table-search -S
or
$ yarn add array-table-search
Functions
Take a look into the usage section for a detailed example.
multiColumnSearchArrayTable
This function can filter (search) on multiple object keys (one row).
Only if all applied filters are true
the object (row) is in the returned data set.
Syntax
Returns a new array.
const searchedData = multiColumnSearchArrayTable(data, options);
Parameters
- data: an array of object
- each object represents one row
- each key of one object has to be the name of the column
- each value of a of a key of one object is the value of the cell in the table
- options: an object
- the keys in that object has to be the name of the column
- each key holds another object with two keys (type, value)
- type is the search type (includes, exact)
- value is the search value for this column
searchArrayTable
This function can filter (search) on the complete object (one row).
If one key value filter is true
the object (row) is in the returned data set.
Syntax
Returns a new array.
const searchedData = searchArrayTable(data, options);
Parameters
- data: an array of object
- each object represents one row
- each key of one object has to be the name of the column
- each value of a of a key of one object is the value of the cell in the table
- options: an object
- this object has two keys (type, value)
- type is the search type (includes, exact)
- value is the search value for this column
Usage
An example how to use it.
const { multiColumnSearchArrayTable } = require('array-table-search');
const { searchArrayTable } = require('array-table-search');
const data = [
{
number: 1,
first: 'Mark',
},
{
number: 2,
first: 'Jacob',
},
{
number: 3,
first: 'Larry',
},
];
const searchOptionMultiColumn = {
number: {
type: 'includes',
value: '',
},
first: {
type: 'includes',
value: 'ar',
},
};
const searchOptionTable = {
type: 'includes',
value: 'ar',
};
const searchedMultiColumnData = multiColumnSearchArrayTable(data, searchOptionMultiColumn);
const searchedTableData = searchArrayTable(data, searchOptionTable);
License
MIT © Lukas Aichbauer