Reputation: 1207
filter to fetch the partnername, its returns undefined all the time.
administrationList = [
{
"runid": 6,
"partnerid": 2,
"partnername": "test admin2",
},
{
"runid": 5,
"partnerid": 5,
"partnername": "test admin1"
}
]
let val = administrationList.filter(pItem => pItem.partnerid == 7).partnername;
console.log("###########val :"+val); //returns undefined
Upvotes: 1
Views: 70
Reputation: 17610
filter returns array not object so take first
let val = this.administrationList.filter(pItem => pItem.partnerid == 7)[0].partnername;
or use find to get object
let val = this.administrationList.find(pItem => pItem.partnerid == 7).partnername;
or use reduce
let val=this.administrationList.reduce(function(prev, curr) { return (curr.partnerid === 3) ? curr.partnername : prev; }, null);
var administrationList = [
{
"runid": 6,
"partnerid": 2,
"partnername": "test admin2",
},
{
"runid": 5,
"partnerid": 5,
"partnername": "test admin1"
}
]
let val = administrationList.filter(pItem => pItem.partnerid == 7)[0]
console.log(val ? val.partnername : null) ;
val = administrationList.find(pItem => pItem.partnerid == 2);
console.log(val ? val.partnername : null)
val=administrationList.reduce(function(prev, curr) { return (curr.partnerid === 5) ? curr.partnername : prev; }, null);
console.log(val)
Upvotes: 4