Sort array with a search keyword - Javascript

December 16, 2022

Sort array with a search keyword - Javascript

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);

Written by Manoj Bhardwaj who lives and works in Dharamshala Himachal Pradesh (India). My stackoverflow