复制对象中的一部分属性给另一个对象(对象部分属性解构到新对象)
复制对象中的一部分属性给另一个对象(对象部分属性解构到新对象)
点击查看代码
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 阅读(457) 评论(0) 编辑 收藏 举报