过滤器不返回值

filter not returning the value

用于获取合作伙伴名称的过滤器,其 returns 始终未定义。

 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

过滤returns数组不是对象所以先取

let val = this.administrationList.filter(pItem => pItem.partnerid == 7)[0].partnername;

或使用 find 获取对象

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)