1

** Below is my JSON data

I want to filter and have data that is having rulescore > 0 using nodejs

**

{
 "https://www.google.com":{
   "sitescore":99,
       "rules":[
            {
        "rulename":"rule1","rulescore":0,"description":"rules1 descript"},
            {
        "rulename":"rule2","rulescore":1,"description":"rules2 descript"},
            {
        "rulename":"rule3","rulescore":0,"description":"rules3 descript"}
            ]
           }
}

**

I want to filter and have data that is having rulescore > 0 using nodejs

**

Veda Vyas
  • 121
  • 3
  • 11

3 Answers3

3

Use filter operation on the rules array to get the rules with rulescore that are greater than 0.

var dataObj = {
 "sitename":{
   "sitescore":99,
   "rules":[
     {
       "rulename":"rule1","rulescore":0,"description":"rules1 descript"
     },
     {
       "rulename":"rule2","rulescore":1,"description":"rules2 descript"
     },
     {
       "rulename":"rule3","rulescore":0,"description":"rules3 descript"
     }
   ]
 }
};

var res = dataObj.sitename.rules.filter((rule) => rule.rulescore > 0);
console.log(res);
Ankit Agarwal
  • 30,378
  • 5
  • 37
  • 62
0

ES6

You can use filter() method of array.

DEMO

const data = {
    "sitename": {
        "sitescore": 99,
        "rules": [{
            "rulename": "rule1",
            "rulescore": 0,
            "description": "rules1 descript"
        }, {
            "rulename": "rule2",
            "rulescore": 1,
            "description": "rules2 descript"
        }, {
            "rulename": "rule3",
            "rulescore": 0,
            "description": "rules3 descript"
        }]
    }
};


console.log(data.sitename.rules.filter(({rulescore}) => rulescore > 0));
.as-console-wrapper { max-height: 100% !important; top: 0; }
Community
  • 1
  • 1
Narendra Jadhav
  • 10,052
  • 15
  • 33
  • 44
0
    var dataObj={
         "https://www.google.com":{
        "sitescore":99,
         "rules":[
                {
             "rulename":"rule1","rulescore":0,"description":"rules1 descript"},
              {
             "rulename":"rule2","rulescore":1,"description":"rules2 descript"},
               {
             "rulename":"rule3","rulescore":0,"description":"rules3 descript"}
             ]
             }
       };

      var res = (dataObj["https://www.google.com"]).rules.filter(rule => 
   rule.rulescore > 0);
       console.log(res);
Veda Vyas
  • 121
  • 3
  • 11