Sort array with a search keyword - Javascript
December 16, 2022
Sort array with a search keyword - Javascript
let keyword='Real';
let profile=[
{
"video_name": "Classification of Real Numbers"
},
{
"video_name": "Real Numbers and their Decimal Expansion"
},
{
"video_name": "Representation of Real Numbers on the Number Line",
},
{
"video_name": "Operations on Real Numbers and Laws of Exponents"
},
{
"video_name": "real numbers on number line using magnification"
}
]
let search_results = profile
.filter(prof => {
// Filter results by doing case insensitive match on name here
return prof.video_name.toLowerCase().includes(keyword.toLowerCase());
})
.sort((a, b) => {
// Sort results by matching name with keyword position in name
if(a.video_name.toLowerCase().indexOf(keyword.toLowerCase()) > b.video_name.toLowerCase().indexOf(keyword.toLowerCase())) {
return 1;
} else if (a.video_name.toLowerCase().indexOf(keyword.toLowerCase()) < b.video_name.toLowerCase().indexOf(keyword.toLowerCase())) {
return -1;
} else {
if(a.video_name > b.video_name)
return 1;
else
return -1;
}
});
console.log(search_results);