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 => {
      // case insensitive search
      if(obj[key].toLowerCase().includes(query.toLowerCase())){
         res[key] = obj[key]
      };
   });
   return res;
};
console.log(findByQuery(obj, 'Pur'));

输出

控制台输出如下:

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

更新于:2020年11月21日

332 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.