Indexes

JavaScript

const obj = {
  alphas: {
    top: [{name: "q"}, {name: "w"}],
    middle: [{name: "a"}, {name: "s"}],
    bottom: [{name: "z"}, {name: "x"}],
  },
  numbers: {
    low: [{name: "1"}, {name: "2"}, {name: "3"}],
    high: [{name: "1000"}, {name: "2000"}],
  }
}

const match = "s";
const categoryIndex = Object.keys(obj).findIndex(
  cat => Object.keys(obj[cat]).some(
    subcat => obj[cat][subcat].some(
      key => key.name === match)));

const categoryName = Object.keys(obj)[categoryIndex];
const subcategoryIndex = Object.keys(obj[categoryName]).findIndex(
  subcat => obj[categoryName][subcat].some(key => key.name === match));

const result = [categoryIndex, subcategoryIndex];
console.log(result);