js 一个对象数组,如何根据id得到name?

let list_bank = [
    {
        id:1,
        name:"建设银行"
    },
    {
        id:2,
        name:"招商银行"
    }
];
let value_bank = 1;

如何得到id为1对应的name值是多少呢?

阅读 13.1k
3 个回答

目前的方法只有遍历,逐个遍历,匹配id.

list_bank.find(item => {return item.id == value_bank} )

很多时候会先处理一次方便使用

let listRel = list_bank.reduce((result, v) => {
    return {...result, [v.id]:v};
}, {});

listRel[value_bank].name; // 使用的时候

犀利一笑^_^

// 在数组中通过 ID 查找对应 Name
export const getNameById = (array, value, id, name, multi) => {
    let arr = array || [];
    let flag;
    let result = arr.filter(item => {
        return item[id] + '' === value + '';
    });
    if (multi) {
        flag = result.map(item => {
            return item[name];
        });
    } else {
        let obj = result[0];
        flag = name ? obj && obj[name] : obj;
    }
    return flag;
};
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题