我正在使用api来回复我这个回复: -
{
VJiQND:
{
optin: 'double',
is_default: 'no',
from_email: 'xxxxxxx@gmail.com',
name: 'ding',
reply_to_email: 'xxxxxxx@gmail.com',
created_on: '2015-05-18 11:32:37',
from_name: 'Xa'
},
VJj3KAS:
{
optin: 'double',
is_default: 'yes',
from_email: 'xxxx@gmail.com',
name: 'xtusxx',
reply_to_email: 'xxxxx@gmail.com',
created_on: '2015-05-18 09:09:43',
from_name: 'Ads'
}
}
现在我希望获得VJj3KAS
如果from_name等于'广告'我尝试filter
功能但它不起作用它给我一个错误,请你帮助我获得该值。< / p>
由于
答案 0 :(得分:2)
过滤功能适用于数组,你拥有的是一张地图。您必须简单地遍历地图键/值对并检查它们是否符合您的条件。
function getFilteredKeys(map, filter) {
var filteredKeys = [];
for (var key in map) {
if (filter(key, map[key])) {
filteredKeys.push(key);
}
}
return filteredKeys;
}
用法:
var keys = getFilteredKeys(apiResult, function(key, value){
return value.from_name && value.from_name === 'Ads';
});