将类与类之间的数据进行转换
/**
* 将原对象浅拷贝为新对象, 将keyMap 指定的键修改为指定的新键名 ,默认保留原来键值
* @param {Object} obj - 原对象
* @param {Object} keyMap - 键键映射关系, 键为保留的键, 值为新键名 const keyMap = {
* languageId: 'lang',
* mediaTypeId: 'type',
* }
* @param {Boolean} isSave - 是否保留非keyMap对象中其他键名
* @return {Object} 新对象
* @author zhoudk
*/
const transform = (obj, keyMap, isSave = true) => {
Object.entries(obj).reduce((acc, [key, value]) => {
const resultKey = keyMap[key];
if (isSave) {
resultKey ? (acc[resultKey] = value) : (acc[key] = value)
} else {
resultKey && (acc[resultKey] = value)
}
return acc;
}, {})
}
网友评论