You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript使用delete操作符修改传入对象属性的相关问题

问题排查

你的代码存在两个不符合需求的问题:

  • 操作的目标对象错误:函数内写的是delete user.name,直接操作了全局作用域下的user变量,没有使用传入的person参数。本次测试刚好你传入的就是user对象,所以凑巧删除了属性,但如果传入其他person对象,代码完全不会生效,不符合函数的通用性设计要求。
  • 存在多余的返回逻辑:需求明确要求函数无返回值,你代码中return new Object(person)的逻辑完全多余,需要删除。
正确实现
let user = {};
user.name = "name";

export default function removeName (person){
  // 直接删除传入参数对象的name属性
  delete person.name;
  // 不需要写return,函数默认返回undefined,满足无返回值要求
}

removeName(user);
console.log(user); // 输出 {}
实现说明
  • JavaScript中对象是按引用传递的,函数内对参数person的修改会直接作用到原对象上,符合“直接修改传入对象”的要求
  • 没有额外返回值,完全符合需求定义

内容的提问来源于stack exchange,提问作者mixalis petros

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 09:54:07