JSFiddle - React, Tailwind, and code Playground

by John Wick

JavaScript

var allLoanTypes = [
    "purchase",
    "newConstruction",
    "refinance"
]

/* var term = [
    "purchase",
    "newConstruction"
]
 */
var term = [
    "purchase",
    "refinance"
]

var foundIds = []
for (let i=0; i< allLoanTypes.length; i++) {
	if (allLoanTypes[i] && term.includes(allLoanTypes[i])) {
  	foundIds.push(allLoanTypes[i])
  }
}

console.log('foundIds:', foundIds);

/* const tagIds = allLoanTypes.map((tag) => tag.id);
*/

const isColumnFiltering = Array.isArray(term);
const filters = isColumnFiltering ? (foundIds || []).map((t) => t) || []
	: term.trim().toLowerCase();

 

console.log('aaa filters:', filters);

const result = (allLoanTypes || []).filter(
  (l) =>
  isColumnFiltering
  ? filters.includes(l)
  : l.toLowerCase().includes(filters) // for table searching
)

console.log('aaa result:', result);
console.log('aaa result.length:', result.length);