[英]How to strip object down to specific fields elegantly?
我想删除所有多余的字段,但我从对象中指定的字段。 我怎么能优雅地做到这一点。 例如:我想要这样的东西:
let obj = {email: 'test', id: 'someid', password: 'pas'}
stripObject(obj, 'email', 'id')
//now obj contains only email & id
您可以使用“Array.map”和“Object.assign”来完成这个任务,如下所示
let obj = {email: 'test', id: 'someid', password: 'pas'} function stripObject(obj , ...args) { return Object.assign(...args.map(d => ({ [d]: obj[d] }))) } console.log(stripObject(obj, 'email', 'id'))
这有效:
let obj = {email: 'test', id: 'someid', password: 'pas'}
function stripObject(obj, ...args) {
let newObj = {};
args.forEach(arg => {
newObj[arg] = obj[arg];
});
return newObj;
}
let stripped = stripObject(obj, 'email', 'id');
console.log(stripped);
JSFiddle: https ://jsfiddle.net/gjm0L2vw/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.