JavaScript - 像 SQL 中的查询一样查找匹配值的键

javascriptweb developmentfront end technologyobject oriented programmingsql

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

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' }

相关文章