Reputation: 121
** 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
**
Upvotes: 1
Views: 902
Reputation: 30739
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);
Upvotes: 3
Reputation: 121
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);
Upvotes: 0
Reputation: 10262
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; }
Upvotes: 0