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