Javascript 如何优雅地将对象剥离到特定字段?

Javascript 如何优雅地将对象剥离到特定字段?,javascript,Javascript,我想删除所有多余的字段,但我从对象中指定的字段除外。我怎样才能优雅地做到这一点。我想要像这样的东西: let obj = {email: 'test', id: 'someid', password: 'pas'} stripObject(obj, 'email', 'id') //now obj contains only email & id 这项工作: let obj = {email: 'test', id: 'someid', password: 'pas'} func

我想删除所有多余的字段,但我从对象中指定的字段除外。我怎样才能优雅地做到这一点。我想要像这样的东西:

let obj = {email: 'test', id: 'someid', password: 'pas'}

stripObject(obj, 'email', 'id')

//now obj contains only 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);
jsIDLE:

您可以使用“Array.map”和“Object.assign”来完成此任务,如下所示

let obj={email:'test',id:'someid',password:'pas'}
函数stripObject(obj,…args){
返回Object.assign(…args.map(d=>({[d]:obj[d]})))
}

console.log(stripObject(obj,'email,'id'))
stripObject(obj,email,id)
电子邮件和
id
变量包含什么?你是不是想传递字符串?您是否尝试过编写代码?请添加结果并重试。