亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

2017.02.13 JS學(xué)習(xí)

terasum / 1395人閱讀

摘要:今天在第步上花了個(gè)多小時(shí),好在最后完成了,現(xiàn)把問(wèn)題和記錄下來(lái)。循環(huán)還要多多練習(xí)。前提是之前的判斷中的其他情況會(huì)

今天在 FreeCodeCamp 第215步上花了1個(gè)多小時(shí),好在最后完成了,現(xiàn)把問(wèn)題和code記錄下來(lái)。

題目:

Profile Lookup
We have an array of objects representing different people in our contacts lists.
A lookUpProfile function that takes firstName and a property (prop) as arguments has been pre-written for you.
The function should check if firstName is an actual contact"s firstName and the given property (prop) is a property of that contact.
If both are true, then return the "value" of that property.
If firstName does not correspond to any contacts then return "No such contact"
If prop does not correspond to any valid properties then return "No such property"

//Setup
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 lookUpProfile(firstName, prop){
// Only change code below this line

// Only change code above this line
}

// Change these values to test your function
lookUpProfile("Akira", "likes");
lookUpProfile("Kristian", "lastName");
lookUpProfile("Sherlock", "likes");
lookUpProfile("Harry", "likes");
lookUpProfile("Bob", "likes");
lookUpProfile("Bob", "address");
遇到問(wèn)題:

一開(kāi)始把firstName和prop的判斷寫(xiě)在了一個(gè)for循環(huán)下,結(jié)果導(dǎo)致如果firstName不是在第一個(gè)object中,則直接返回"No such contact",不再繼續(xù)查找數(shù)組。

解決方法:

先將所有firstName存入一個(gè)數(shù)組,判斷firstName是否存在,如果不存在,則直接返回"No such contact",如果存在,則再引入for循環(huán),在for循環(huán)中判斷是否存在prop.

function lookUpProfile(firstName, prop){
// Only change code below this line
//將所有firstName存入數(shù)組
  var storeFirstName = []; 
for (var i = 0; i < contacts.length; i++){
  
    storeFirstName.push(contacts[i].firstName); 

} 
//創(chuàng)建方法,用來(lái)判斷數(shù)組中是否存在某個(gè)值     
  function contains(arr, obj) {  
    var i = 0;  
    while (i < arr.length) {  
        if (arr[i] === obj) {  
          
            return true;
        }
      i++;
    }  
    return false;  
}       

  
if (contains(storeFirstName, firstName))//firstName 存在于contacts中
  {
    for (var j = 0; j < contacts.length; j++){
      
      if(contacts[j].firstName === firstName) { //找到目標(biāo)firstName所在的object            
        if (contacts[j].hasOwnProperty(prop)){ //object中存在目標(biāo)prop
        
          return contacts[j][prop];
          
        }
        else {
          
          return "No such property"; //object中不存在目標(biāo)prop
        }
      }
     
      
    }
  }
  else {  //firstName 不存在于contacts中
    return "No such contact"; 
  }
// Only change code above this line
}
心得:

寫(xiě)文章先在本地寫(xiě),然后再?gòu)?fù)制到網(wǎng)頁(yè)中(不小心按到返回,也是沒(méi)誰(shuí)了,多花了20分鐘重寫(xiě))。

循環(huán)還要多多練習(xí)。

與object.hasOwnProperty不同,數(shù)組需要判斷是否存在值時(shí),可引入 contains 方法:

function contains(arr, obj) {  
        var i = 0;  
        while (i < arr.length) {  
            if (arr[i] === obj) {  
              
                return true;
            }
          i++;
        }  
        return false;  
    }
2017.02.14 How stupid am I !

今早起來(lái)才想起來(lái),把return “No such contact”放在 for循環(huán)外,等f(wàn)or循環(huán)結(jié)束找不到firstName,會(huì)直接返回 “No such contact”.

function lookUpProfile(firstName, prop){
// Only change code below this line
 for( var i = 0; i < contacts.length; i++) {
   
   if(contacts[i].firstName === firstName) {
     
     if(contacts[i].hasOwnProperty(prop)) {
       
       return contacts[i][prop];
     }
     else {
       
       return "No such property";
     }
   }
 
 }
  return "No such contact";
// Only change code above this line
}

nested 判斷中,最外部的判斷中false的情況,可以直接在最后。前提是之前的判斷中的其他情況會(huì)terminate function.

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/81499.html

相關(guān)文章

  • Luxon 初步介紹(Moment 團(tuán)隊(duì)日期另一個(gè)類庫(kù))

    摘要:我不是的深度用戶只是日常會(huì)遇到一些時(shí)間格式化的需求之前用的都是不過(guò)對(duì)的感到有些不舒服同事介紹過(guò)里邊用不可變數(shù)據(jù)的風(fēng)格設(shè)計(jì)的所以就試試上星星很多請(qǐng)放心食用是項(xiàng)目的某個(gè)維護(hù)者開(kāi)發(fā)的按照他個(gè)人想法進(jìn)行了改進(jìn)除了不可變性使用的工具做了更新也嘗試到時(shí) 我不是 Moment 的深度用戶, 只是日常會(huì)遇到一些時(shí)間格式化的需求,之前用的都是 Moment, 不過(guò)對(duì) Moment 的 mutable A...

    stormzhang 評(píng)論0 收藏0
  • Javascript 注釋規(guī)范

    摘要:代碼注釋規(guī)范一語(yǔ)法注釋的說(shuō)明語(yǔ)法寫(xiě)在注釋塊第一行這是注釋的說(shuō)明切換音頻播放狀態(tài)播放停止省略其它代碼標(biāo)簽語(yǔ)法標(biāo)簽的說(shuō)明語(yǔ)法說(shuō)明文字學(xué)生學(xué)生的名字類型語(yǔ)法可與標(biāo)簽結(jié)合使用,如必傳參數(shù)可選參數(shù)語(yǔ)法可與標(biāo)簽結(jié)合使用,如必傳參數(shù)可選參數(shù)參數(shù)有 Javascript 代碼注釋規(guī)范 一、語(yǔ)法 1. 注釋的說(shuō)明 語(yǔ)法:寫(xiě)在注釋塊第一行 /** * events-function(這是注釋的說(shuō)明) ...

    ChanceWong 評(píng)論0 收藏0
  • 初學(xué)者學(xué)習(xí)JAVASCRIPT很吃力怎么辦?到底該如何學(xué)習(xí)JS?

    摘要:給初學(xué)者的印象總是那么的雜而亂,相信很多初學(xué)者都在找輕松學(xué)習(xí)的途徑。通常學(xué)了很久的基礎(chǔ)之后,變量函數(shù)對(duì)象你也都略知一二,但一到公司開(kāi)發(fā)項(xiàng)目的時(shí)候,卻又難以下手。 Js給初學(xué)者的印象總是那么的雜而亂,相信很多初學(xué)者都在找輕松學(xué)習(xí)Js的途徑。在這里給大家總結(jié)一些學(xué)習(xí)Js的經(jīng)驗(yàn),希望能給后來(lái)的學(xué)習(xí)者探索出一條輕松學(xué)習(xí)Js之路。Js給人那種感覺(jué)的原因多半是因?yàn)樗缦碌奶攸c(diǎn):A:本身知識(shí)很抽象、...

    WrBug 評(píng)論0 收藏0
  • 學(xué)習(xí) Next.js: 入門(mén)

    摘要:原始文檔在現(xiàn)在搬過(guò)來(lái)學(xué)習(xí)入門(mén)學(xué)習(xí)頁(yè)面之間的導(dǎo)航學(xué)習(xí)使用共享組件學(xué)習(xí)創(chuàng)建動(dòng)態(tài)內(nèi)容學(xué)習(xí)使用路由掩碼創(chuàng)建干凈的學(xué)習(xí)干凈的服務(wù)器支持學(xué)習(xí)獲取數(shù)據(jù)學(xué)習(xí)部署哪位分高的幫忙創(chuàng)建一個(gè)的標(biāo)簽謝謝現(xiàn)暫時(shí)放在標(biāo)簽下面了新建文章有時(shí)間限制一會(huì)全部發(fā)上來(lái)這是最近兩天 原始文檔在 https://github.com/developerw... 現(xiàn)在搬過(guò)來(lái). 學(xué)習(xí) Next.js: 入門(mén)學(xué)習(xí) Next.js: ...

    Miracle 評(píng)論0 收藏0
  • 學(xué)習(xí) Next.js: 創(chuàng)建動(dòng)態(tài)內(nèi)容

    摘要:原始文檔在現(xiàn)在搬過(guò)來(lái)學(xué)習(xí)入門(mén)學(xué)習(xí)頁(yè)面之間的導(dǎo)航學(xué)習(xí)使用共享組件學(xué)習(xí)創(chuàng)建動(dòng)態(tài)內(nèi)容學(xué)習(xí)使用路由掩碼創(chuàng)建干凈的學(xué)習(xí)干凈的服務(wù)器支持學(xué)習(xí)獲取數(shù)據(jù)學(xué)習(xí)部署創(chuàng)建動(dòng)態(tài)頁(yè)面現(xiàn)在我們知道了如何使用多個(gè)頁(yè)面創(chuàng)建一個(gè)基本的應(yīng)用程序?yàn)榱藙?chuàng)建頁(yè)面我們需要在磁盤(pán)上創(chuàng)建 原始文檔在 https://github.com/developerw... 現(xiàn)在搬過(guò)來(lái). 學(xué)習(xí) Next.js: 入門(mén)學(xué)習(xí) Next.js: ...

    caohaoyu 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<