复制对象中的一部分属性给另一个对象(对象部分属性解构到新对象)
复制对象中的一部分属性给另一个对象(对象部分属性解构到新对象)
点击查看代码
const obj = {
a: 1,
b: 2,
c: 3,
};
//第1种,全部赋值
const new_obj={}
for(let key in obj) {
new_obj[key] = obj[key]
}
console.log(new_obj); { a:1, b:2, c:3 }
//第2种,正常取值法
const new_obj = {
a1: obj.a,
b: obj.b,
};
console.log(new_obj); { a1:1, b:2 }
//第3种,利用匿名方法以及 ES6 解构赋值(自执行函数)
const new_obj = ( ({ a, b }) => ({ a1:a, b }) )(obj);
console.log(new_obj); { a1:1, b:2 }
//第4种,利用 ES6 解构赋值
const { a, b } = obj;
const new_obj = { a1:a, b };
console.log(new_obj); { a1:1, b:2 }
//第5种,利用 JSON.stringify 第二个参数取值
const new_obj = JSON.parse(JSON.stringify(obj, ["a", "b"]));
console.log(new_obj); { a:1, b:2 }
//第6种,利用 ES6 解构剔除无用对象
const { c, ...new_obj } = obj;
console.log(new_obj); { a:1, b:2 }
//第7种,reduce函数
const new_obj = ['a', 'b'].reduce((total, val) => (val in obj && (total[val] = obj[val]), total), {});
console.log(new_obj); { a:1, b:2 }
posted on 2023-06-21 18:48 springsnow 阅读(507) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构