后台获取得数据根据字典数据,获取相应得值?

后台获取得数据根据字典数据,获取相应得值?

有如下两个数组,list是后台获取得数据,dicts是字典表;
需要将list中数据sex和job根据字典数组得到name

var list = [
        {name: '张三', sex: 0,job:1},
        {name: '李四', sex: 1,job:''},
        {name: '李3', sex: 1,job:null}
    ]
    var dicts = [
        {
            name: 'sex', values: [
                {name: '男', value: 0},
                {name: '女', value: 1},
                {name: '保密', value: 2}
            ]
        },
        {
            name: 'job', values: [
                {name: '工人', value: 0},
                {name: '医生', value: 1},
                {name: '农民', value: 2}
            ]
        }
    ]

需要得到如下数组展示

var list = [
        {name: '张三', sex: 0,job:1,sexName:'男',jobName:'医生'},
        {name: '李四', sex: 1,job:'',sexName:'女',jobName:''},
        {name: '李3', sex: 1,job:null,sexName:'女',jobName:''}
    ]

代码如下(已通过测试):


function getName(name, val) {
    if(typeof val !== 'number') {
        return ''
    }
    return dicts.find(item => {
        return item.name === name
    })
    .values
    .find(item => {
        return item.value === val
    })
    .name
}

list.forEach(item => {
    item.sexName = getName('sex', item.sex)
    item.jobName = getName('job', item.job)
})

console.log(list)