美文网首页
freecodecamp个人问题汇总

freecodecamp个人问题汇总

作者: Stanzahh | 来源:发表于2017-07-05 22:40 被阅读0次

    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个人问题汇总

          本文链接:https://www.haomeiwen.com/subject/hwrchxtx.html