通过javascript对象属性值过滤JSON响应

时间:2017-10-25 22:26:29

标签: javascript json node.js

我目前正在提取以下响应输出;我正在尝试创建2个简单的过滤器,以便只有' healthyMeals'通过这两个过滤器,将显示或输出。

当前工作输出(在2个过滤器之前):

{
  "healthyMeals" : [
    {
      "id": 310,
      "avRating": 2.2,
      "name": "Peanut butter soup",
      "expireDate": "12-02-2017",
      "difficulty": "easy",
      "reviews": 999
    },

尝试(尝试添加2个过滤器)。

this.getHealthy = function(res, req) {

  var checkReview;
  var checkRating;

  function checkRating() {
   if (averageRating > 4.1){
        res.res.json({
        "message" : "pass",
        });         
      } 
   else {
        res.res.json({
        "message" : "Could not find meal",
        });         
      } 
  };
  function checkReview() {
    if (reviews >= 5){
        res.res.json({
        "message" : "pass",
        });
      } 
    else {
        res.res.json({
        "message" : "Could not find meal",
        });         
      } 
  };   

  db.Meals.findAll({
    where: {
      id : givenId,
 //   averageRating : checkRating(),
 //   reviews : checkReview()
    }
  })

以上两个带注释的属性,打破app并且在取消注释时不起作用。

如何循环浏览' healthyMeals'的所有averageRating属性值?和' reviews'如果他们通过了2个过滤器测试,那么,然后才显示?如果没有消息'未找到'显示器。

1 个答案:

答案 0 :(得分:1)

您已将变量声明为checkReviewcheckRating(与您的函数名称相同),但您使用的是averageRatingreviews。您应该声明以下变量:

var averageRating,
    reviews;