javascript - 如何在 JS 中删除正确的对象属性值
问题描述
我正在完成一个小练习任务并且遇到了这个问题,我一生都无法弄清楚。有一些我看不到的测试参数。该对象不是我可以看到的变量,它只是假设的。
编写一个名为 removePassword 的函数,它接收一个对象。删除属性密码并返回对象。
removePassword=(object)=>{
for(var key in object){
if(object = object[key]){
delete object[key]
}
}return object;
}
我已经尝试了很多不同版本的这段代码,但我不知道如何只删除属性密码而不删除另一个属性,即用户名
解决方案
看看这个解决方案。如果需要,您可以避免进行对象复制,无论如何它都会起作用
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)
)
推荐阅读
- javascript - 为什么无法在 Javascript 中删除浏览器缓存?
- windows - 在我们公司实施新的严格网络安全措施后,我们的 GITBLIT/Jetty 服务已停止工作
- bash - Bash/Shell:如何在不删除被调用者历史记录功能的情况下添加到历史记录
- database - 哪些指标是 mongodb 中的(逻辑/物理)读写?
- python - 由于一行有问题的代码,Python 不会通过 YouTube Live Chat API 读取 Live Chat 消息
- regex - Perl CLI 就地字符串替换/用特殊字符替换多行
- python - 请求给出 404 而不是 200
- python - 在 Python 中使用 lat long time 变量创建 netcdf 文件时出错
- scala - Atom 上的金属无法运行项目
- php - 如何使用 PhpSpreadSheet 折线图在每个标记中设置可见数据标签?