对于我正在学习的课程,我需要将对象的属性重新分配给“未知”。以下是示例问题:
//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很新,可以在这里使用一些帮助。
由于
答案 0 :(得分:0)
vsperf /launch:YourApp.exe
您不想在循环中返回,您希望使用for (var prop in person) {
if (person.hasOwnProperty(prop)) {
person[prop] = "Unknown";
}
}
return person;
运算符修改对象的每个属性。
=
背后的原因如下。
hasOwnProperty
是一个对象。该对象从其Prototype继承属性。您不关心那些继承的属性,因此如果属性是您提供的属性,则调用person
返回hasOwnProperty
。