在javascript

时间:2018-03-18 00:23:55

标签: javascript object

function addProperty(object, property) {
  // add the property to the object with a value of null
  // return the object
  // note: the property name is NOT 'property'.  The name is the value of the argument called property (a string)
}

我对一个唯一的家庭工作问题有点困惑。我想我明白它要求我做什么。我想传入一个对象并添加一个新属性并将其默认值设置为null。

这是我尝试过的事情

function addProperty(object, property) {
  // add the property to the object with a value of null
  // return the object
  // note: the property name is NOT 'property'.  The name is the value 
  object.property = property;
  object[property] = null;
  return object;
    }

这似乎不像我需要的那样工作,因为我相信我的对象应该产生类似

的东西
const object = {
propertyPassedIn: null,
};

任何人都可以帮助或指出我正确的方向吗?

3 个答案:

答案 0 :(得分:1)

这对我有用

function addProperty(object, property) {
  // add the property to the object with a value of null
  // return the object
  // note: the property name is NOT 'property'.  The name is the value 
  // object.property = property;
  object[property] = null;
  return object;
}

var obj = {x:1,y:null};
// undefined
obj
// {x: 1, y: null}
addProperty(obj, 'z');
// {x: 1, y: null, z: null}

答案 1 :(得分:1)

只需删除

object.property = property;

来自您的样本。如果该属性不在对象中,则该行将创建 ReferenceError 。除此之外,我看不出为什么它不会按你所说的那样做。

答案 2 :(得分:0)

function addProperty(object, property) {
  object[property] = null;
  return object;
}

    var obj = {
       key1:1,
       key2:2
    };

addProperty(obj, 'value');
this will give below result
{key1:1, key2:2, value:null}