【发布时间】:2017-11-20 23:19:31
【问题描述】:
我有一个如下所示的函数:
function addProperty(object, property) {
}
我必须将属性参数的值作为键添加到对象参数。新属性的值必须设置为 null。之后,我将返回具有新添加属性的对象。预期的输入是这样的:{ x: 5 }, 'y',左边是对象,右边是属性。预期的输出是这样的:{ x: 5, y: null }。
这是我目前所拥有的:
function addProperty(object, property) {
object = { object, [property]: null};
return object;
}
addProperty({x:5}, 'y');
这是我得到的输出:{ object: { x: 5 }, y: null }。我在这里做错了什么?我如何摆脱输出开头看起来像对象属性的东西并留下对象本身和属性??。
【问题讨论】:
-
请注意,这样做会在您的函数范围之外编辑
object。这意味着即使您不返回object,您作为参数传递的那个也会被修改。示例:addProperty(someObject, 'y')会将y: null添加到已经存在的对象someObject。 -
该代码在上周出现在四五个问题中。作业?
-
抱歉,James,我认为我正确使用了搜索功能。我原来的帖子有一个警告,如果发现问题是重复的,我会删除它。不幸的是,该声明已被 Jordumus 编辑。也许该语句不适用于堆栈。代码源自类似于训练营的 Lambda 学校。请注意,我问社区他们是否知道我做错了什么,Ori 回答得很漂亮。我希望我的问题不会与“家庭作业问答问题”混淆。