freecodecamp个人问题汇总

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"; }

走不通路的时候想想傻办法,分开来有的时候会更容易做一些。
以及,注意审题。

你可能感兴趣的:(freecodecamp个人问题汇总)