如何在对象中重新分配变量?

时间:2015-08-19 22:39:09

标签: javascript-objects

对于我正在学习的课程,我需要将对象的属性重新分配给“未知”。以下是示例问题:

//In the function below, "person" will be passed in as an object that represents a person with properties such as name, age, gender, etc.
//Loop through all the properties of the object and set each value equal to "Unknown"
//For example, if "person" is {name: "Dolph L.", age: 33} then the function would return {name: "Unknown", age: "Unknown"}

function describePerson(person) {
    //code here
}

如果我理解正确,它说我必须遍历该对象并将其属性重新分配给“未知”。我一直想做的是:

function describePerson(person) {
    for (var prop in person) {
       if (prop) {
           return "Unknown";
       }
    } 
}

我对Javascript很新,可以在这里使用一些帮助。

由于

1 个答案:

答案 0 :(得分:0)

vsperf /launch:YourApp.exe

您不想在循环中返回,您希望使用for (var prop in person) { if (person.hasOwnProperty(prop)) { person[prop] = "Unknown"; } } return person; 运算符修改对象的每个属性。

=背后的原因如下。

hasOwnProperty是一个对象。该对象从其Prototype继承属性。您不关心那些继承的属性,因此如果属性是您提供的属性,则调用person返回hasOwnProperty