1、Testing Objects for Properties
// 初始化变量
var myObj = {
gift: "pony",
pet: "kitten",
bed: "sleigh"
};
function checkObj(checkProp) {
// 请把你的代码写在这条注释以下
return "修改这里";
}
// 你可以修改这一行来测试你的代码
checkObj("gift");
我自己的的代码
if (myObj.hasOwnProperty("checkTop")===true){
return myObj[checkTop];
}
else return "Not Found";
}
答案
function checkObj(checkProp) {
return myObj.hasOwnProperty(checkProp) ? myObj[checkProp] : "Not Found";
}
不....虽然很不想承认,但是错误的原因是因为我把checkProp打成checkTop了,而且还深信不疑......第一个纪录下来的错误就是我犯的最多次的错误,以此为戒吧。
2、Testing Objects for Properties
// 初始化变量
var myPlants = [
{
type: "flowers",
list: [
"rose",
"tulip",
"dandelion"
]
},
{
type: "trees",
list: [
"fir",
"pine",
"birch"
]
}
];
// 请只修改这条注释以下的代码
var secondTree = ""; // 请修改这一行
我自己的答案(当然是错了)
var secondTree = myPlants[1][1][1];
答案
var secondTree = myPlants[1].list[1];
还是没有完全理解JSON
3、Profile Lookup
//初始化变量
var contacts = [
{
"firstName": "Akira",
"lastName": "Laine",
"number": "0543236543",
"likes": ["Pizza", "Coding", "Brownie Points"]
},
{
"firstName": "Harry",
"lastName": "Potter",
"number": "0994372684",
"likes": ["Hogwarts", "Magic", "Hagrid"]
},
{
"firstName": "Sherlock",
"lastName": "Holmes",
"number": "0487345643",
"likes": ["Intriguing Cases", "Violin"]
},
{
"firstName": "Kristian",
"lastName": "Vos",
"number": "unknown",
"likes": ["Javascript", "Gaming", "Foxes"]
}
];
function lookUp(firstName, prop){
// 请把你的代码写在这条注释以下
// 请把你的代码写在这条注释以上
}
// 你可以修改这一行来测试你的代码
lookUp("Akira", "likes");
我自己
找到的网友总结
for (var i=0;i<3;i++){
if (firstName==contacts[i][0]){
for (var h=0;h<3;h++){
if (prop==contacts[i][h]){return " contact[i][h]";}
}
if(prop!==contacts[i][h]){return "No such property";}
}
}
第二次尝试还是失败了
var x;
for(x in contacts){
if (prop==x){
return contacts.hasOwnProperty(firstName)? prop : "No such property";}
else return "No such property"; }
找到的最符合自己思路的答案
传送门
大神的做法,不过我还比较难消化掉
var contactIndexNo;
for (i=0; i < contacts.length ; i++) {
if (contacts[i].firstName == firstName) {
contactIndexNo = i; }
}
if ( contactIndexNo !== undefined ) {
if (contacts[contactIndexNo].hasOwnProperty(prop)) {
return contacts[contactIndexNo][prop]; }
else { return "No such property"; }
}
else { return "No such contact"; }
走不通路的时候想想傻办法,分开来有的时候会更容易做一些。
以及,注意审题。