JavaScript-查找匹配值的键,如SQL中的查询

假设我们有一个像这样的对象-

const obj = {"100":"Jaipur","101":"Delhi","102":"Raipur","104":"Goa"};

我们需要编写一个JavaScript函数,该函数接受一个这样的对象作为第一个参数,而将搜索查询项作为第二个参数。然后,我们的函数应返回所有键/值对,其值包括作为第二个参数提供给该函数的搜索项。

我们将简单地遍历该对象,并在遍历并最后返回该对象时构建生成的对象(如果它符合条件)。

示例

为此的代码将是-

const obj = {
   "100":"Jaipur",
   "101":"Delhi",
   "102":"Raipur",
   "104":"Goa"
};
const findByQuery = (obj, query) => {
   const keys = Object.keys(obj);
   const res = {};
   keys.forEach(key => {
      //不区分大小写的搜索
      if(obj[key].toLowerCase().includes(query.toLowerCase())){
         res[key] = obj[key]
      };
   });
   return res;
};
console.log(findByQuery(obj, 'Pur'));

输出结果

控制台中的输出将是-

{ '100': 'Jaipur', '102': 'Raipur' }