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

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 
    }
},'')
推荐问题