如何通过对象映射获取值?

const TEST = {
    A:'a',
    B:'b',
    C:'c'
};
let data = {A:1,B:2};

有什么简便的方式获取得到最终的值:a1b2 ?目前想到的方式是两次遍历,应该有更简单的方法。

阅读 1.5k
2 个回答

一个思路

const TEST = {
    A:'a',
    B:'b',
    C:'c'
};
let data = {A:1,B:2};

Object.keys(data).reduce((a,b) => TEST[a]?`${TEST[a]}${data[a]}${TEST[b]}${data[b]}`:`${a}${TEST[b]}${data[b]}`,'')
Object.entries(TEST).reduce((acc, curr)=> {
    if (data[curr[0]] !== undefined) { // 不可直接判断data[curr[0]],0值会误判
        return acc + curr[1] + data[curr[0]]
    } else {
        return acc 
    }
},'')
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题