JSFiddle - React, Tailwind, and code Playground

HTML

<select id="filters">
</select>

String filtro: <input type="text" id="query" />

<input type="button" id="filter" value="Filtrar" />

JavaScript

// Json
var json = [{
    colunaA: "aaa",
    colunaB: "bbb",
    colunaC: "ccc"
}, {
    colunaA: "ddd",
    colunaB: "eee",
    colunaC: "fff"
},{
    colunaA: "ggg",
    colunaB: "hhh",
    colunaC: "iii"
}];

// Criar combo
var filters = Object.keys(json[0]);
var select = document.getElementById("filters");

for (var i = 0; i < filters.length; i++) {
    var opt = document.createElement("option");
    opt.text = filters[i];
    opt.value = filters[i];
    
    select.appendChild(opt);
}

var query = document.getElementById("query");

document.getElementById("filter").onclick = function() {
    var result = json.filter(function(item) {
        return item[select.value] == query.value;
    });
    
    console.clear();
    console.log(result);
};