首页 > 解决方案 > 如何在 JS 中删除正确的对象属性值

问题描述

我正在完成一个小练习任务并且遇到了这个问题,我一生都无法弄清楚。有一些我看不到的测试参数。该对象不是我可以看到的变量,它只是假设的。

编写一个名为 removePassword 的函数,它接收一个对象。删除属性密码并返回对象。

removePassword=(object)=>{
for(var key in object){
  if(object = object[key]){
  delete object[key]
    }
  }return object;
}

我已经尝试了很多不同版本的这段代码,但我不知道如何只删除属性密码而不删除另一个属性,即用户名

标签: javascript

解决方案


看看这个解决方案。如果需要,您可以避免进行对象复制,无论如何它都会起作用

const removePassword = (user) => {
  const userCopy = {...user} // CREATE A COPY OF THE OBJECT
  delete userCopy.password // DELETE THE PASSWORD PROPERTY
  return userCopy // RETURN UPDATED USER
}

const testUser = {username: 'Mario', password: 'supersecret123'}

console.log(
  removePassword(testUser)
)


推荐阅读