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

How does one reassign variables in an object?

对于我正在拍摄的 class,我需要将对象的属性重新分配给 "Unknown"。这是示例问题:

//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
}

如果我的理解是正确的,它说我必须遍历对象并将它的属性重新分配给 "Unknown"。我一直在尝试做的是:

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

我是 Javascript 的新手,在这里真的需要一些帮助。

谢谢

for (var prop in person) {
    if (person.hasOwnProperty(prop)) {
        person[prop] = "Unknown";
    }
}

return person;

您不希望在循环中 return,您希望使用 = 运算符修改对象的每个 属性。

hasOwnProperty背后的原因如下。

person 是一个对象。该对象从其 Prototype 继承属性。你不关心那些继承的属性,所以你调用 hasOwnProperty which returns true 如果 属性 是你给它的。