过滤器获取合作伙伴名称,它始终会返回未定义的内容。
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
答案 0 :(得分:4)
过滤器返回的数组不是对象,所以先获取
let val = this.administrationList.filter(pItem => pItem.partnerid == 7)[0].partnername;
或使用查找获取对象
let val = this.administrationList.find(pItem => pItem.partnerid == 7).partnername;
或使用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)