Javascript 前端如何处理后端返回数据中的冗余字段问题?
我希望得到的结果是{ 名称:“zzs”, 性别:“男孩” } 我不想这样做Javascript 前端如何处理后端返回数据中的冗余字段问题?,javascript,Javascript,我希望得到的结果是{ 名称:“zzs”, 性别:“男孩” } 我不想这样做 let localData = { name: '', sex: '' } let resData = { name: 'zzs', sex: 'boy', age: 18, birthday: '10-21', address: 'demo' } localData = resData // { name: 'zzs', // sex: 'boy', // age: 18, /
let localData = {
name: '',
sex: ''
}
let resData = {
name: 'zzs',
sex: 'boy',
age: 18,
birthday: '10-21',
address: 'demo'
}
localData = resData
// { name: 'zzs',
// sex: 'boy',
// age: 18,
// birthday: '10-21',
// address: 'demo' }
console.log(localData)
是否有一个良好的性能方法可以实现?
谢谢您可以使用以下方法合并两个对象:
localData.name = resData.name;
localData.sex = resData.sex;
因此,使用您的示例数据,请参见下面的,或工作片段:
让本地数据={
名称:“”,
性别:''
}
设resData={
名称:“zzs”,
性:'男孩',
年龄:18岁,
生日:“10-21”,
地址:“演示”
}
Object.keys(resData).filter(key=>localData中的key).forEach(key=>localData[key]=resData[key]);
console.log(localData)
您可以使用外部库查看此代码lodash
-
让本地数据={
名称:“”,
性别:''
}
设resData={
名称:“zzs”,
性:'男孩',
年龄:18岁,
生日:“10-21”,
地址:“演示”
}
localData=u.pick(resData,u.keys(localData));
console.log(本地数据)
您可以执行以下操作:
Object.keys(resData).filter(key => key in localData).forEach(key => localData[key] = resData[key]);
通过映射
localData
的键来获取驻留在resData
中的值,可以使用Object.fromEntries()
。这将创建一个新对象:
const localData={
名称:“”,
性别:''
}
常数resData={
名称:“zzs”,
性:'男孩',
年龄:18岁,
生日:“10-21”,
地址:“演示”
}
const res=Object.fromEntries(Object.keys(localData.map)(k=>[k,resData[k]]);
控制台日志(res)代码>这是否回答了您的问题?您可能需要特别指出,这需要一个外部库。
let {name,sex} = resData; //Destructure only values required
localData = {name,sex} // assign to localdata
console.log(localData) //{name: "zzs", sex: "boy"}