JSFiddle - React, Tailwind, and code Playground

JavaScript

var data = {
         "list": [{
             "engine1": "Gecko",
             "browser": "Firefox 1.0",
             "platform": "Win 98+ / OSX.2+",
             "version": "1.7",
    
         }, {
             "engine": "Tatsman",
             "browser": "Firefox 1.5",
             "platform": "Win 98+ / OSX.2+",
             "version": "1.8",
         }, ]
}
                  
function findValue( obj, key, value ){
    if( obj[key] === value ) return true;
    for( item in obj )
    {
        if( obj[item] != null && obj[item][key] === value ){
            return true;
        }
        if( typeof obj[item] == "object" && obj[item]!= null ){
            var found = findValue( obj[item], key, value );
            if( found == true ) return true;
        }
    }
    return false;
}

var searchedItem = [];
for( var items in data.list )
{
    if(findValue( data.list[items], "engine" , "Tatsman") === true ){
        searchedItem.push( data.list[items] );
    }
}

console.log(searchedItem);