我有一个如下所示的 json 对象,其中包含 id 到名称的映射:
idToNamesMap = {"1":"name5","2":"name6","3":"name7","4":"name8"}
现在我想在此 id-to name 映射对象中搜索名称。例如,搜索并返回以字符串“name”开头的所有名称以及相应的 id。你能建议如何做到这一点吗?
<小时/>我使用 jQuery 1.7。
最佳答案
如果我理解正确,您想要过滤以“name”开头的项目,然后翻转对象键/值:
var idToNamesMap = {"1":"name5","2":"name6","3":"name7","4":"name8"},
searchPattern = /^name/;
function searchMap(map, pattern)
{
var res = {};
$.each(map, function(i, name) {
if (pattern.test(name)) {
res[name] = i;
}
});
return res;
}
console.log(searchMap(idToNamesMap, searchPattern));
输出:
{"name5": "1", "name6": "2", "name7": "3", "name8": "4"}
另请参阅:jQuery.each()
关于javascript - 搜索 javascript 对象中以特定开头的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14001402/