es6 filter过滤器--获取json对象某一值其他特定属性value

运用场景:一个json数组对象存放公司和对应id(一一对应关系),当页面点击内容获取到公司时,需要联动其他数据,但是其他数据接口参数是id来获取。这时就需要通过公司字段找到对应id

代码如下:

let arrObj = [
    {orgName: 'A公司', id: 800},
    {orgName: 'B公司', id: 801},
    {orgName: 'C公司', id: 802}
]
// 获取公司的id
let aArr = arrObj.filter(item => item.orgName === 'A公司') // 返回的是数组 [{orgName: 'A公司', id: 800}]
let id = aArr[0].id // 获取到A公司的id

// 上面2行等价于
let id = arrObj.filter(item => item.orgName === 'A公司')[0].id

需要注意的是可能过滤为空,这是还获取id会报错

因为我运用场景是点击公司名称实现带参数钻取,所以公司名称是肯定存在。

不过呢,代码还是要考虑多种可能的问题,这个细节处理相信聪明的你一定知道【淘气】

(处理可能性:传参公司是空直接return fasle;过滤后获取的数组要是空直接 return false ;具体处理可结合业务场景)

 

posted @ 2020-04-23 17:16  树叶铃铛  阅读(7868)  评论(0编辑  收藏  举报