Вы можете попробовать это -
const obj = {
"India" : {
"Karnataka" : ["Bangalore", "Mysore"],
"Maharashtra" : ["Mumbai", "Pune"]
},
"USA" : {
"Texas" : ["Dallas", "Houston"],
"IL" : ["Chicago", "Aurora", "Pune"]
}
};
const search = (obj, keyword) => {
return Object.values(obj).reduce((acc, curr) => {
Object.entries(curr).forEach(([key, value]) => {
if (value.indexOf(keyword) > -1) {
acc.push(key);
}
});
return acc;
}, []);
}
console.log(search(obj, 'Pune'));
Это будет искать, существует ли keyword
внутри массива. Если тогда пу sh ключ в аккумулятор reduce
.