使用javascript从响应中访问数据

时间:2015-05-18 11:49:30

标签: javascript

我正在使用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>

由于

1 个答案:

答案 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';
});