国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

2017.02.13 JS學習

terasum / 1353人閱讀

摘要:今天在第步上花了個多小時,好在最后完成了,現把問題和記錄下來。循環還要多多練習。前提是之前的判斷中的其他情況會

今天在 FreeCodeCamp 第215步上花了1個多小時,好在最后完成了,現把問題和code記錄下來。

題目:

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"

</>復制代碼

  1. //Setup
  2. var contacts = [
  3. {
  4. "firstName": "Akira",
  5. "lastName": "Laine",
  6. "number": "0543236543",
  7. "likes": ["Pizza", "Coding", "Brownie Points"]
  8. },
  9. {
  10. "firstName": "Harry",
  11. "lastName": "Potter",
  12. "number": "0994372684",
  13. "likes": ["Hogwarts", "Magic", "Hagrid"]
  14. },
  15. {
  16. "firstName": "Sherlock",
  17. "lastName": "Holmes",
  18. "number": "0487345643",
  19. "likes": ["Intriguing Cases", "Violin"]
  20. },
  21. {
  22. "firstName": "Kristian",
  23. "lastName": "Vos",
  24. "number": "unknown",
  25. "likes": ["Javascript", "Gaming", "Foxes"]
  26. }
  27. ];
  28. function lookUpProfile(firstName, prop){
  29. // Only change code below this line
  30. // Only change code above this line
  31. }
  32. // Change these values to test your function
  33. lookUpProfile("Akira", "likes");
  34. lookUpProfile("Kristian", "lastName");
  35. lookUpProfile("Sherlock", "likes");
  36. lookUpProfile("Harry", "likes");
  37. lookUpProfile("Bob", "likes");
  38. lookUpProfile("Bob", "address");
遇到問題:

一開始把firstName和prop的判斷寫在了一個for循環下,結果導致如果firstName不是在第一個object中,則直接返回"No such contact",不再繼續查找數組。

解決方法:

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

</>復制代碼

  1. function lookUpProfile(firstName, prop){
  2. // Only change code below this line
  3. //將所有firstName存入數組
  4. var storeFirstName = [];
  5. for (var i = 0; i < contacts.length; i++){
  6. storeFirstName.push(contacts[i].firstName);
  7. }
  8. //創建方法,用來判斷數組中是否存在某個值
  9. function contains(arr, obj) {
  10. var i = 0;
  11. while (i < arr.length) {
  12. if (arr[i] === obj) {
  13. return true;
  14. }
  15. i++;
  16. }
  17. return false;
  18. }
  19. if (contains(storeFirstName, firstName))//firstName 存在于contacts中
  20. {
  21. for (var j = 0; j < contacts.length; j++){
  22. if(contacts[j].firstName === firstName) { //找到目標firstName所在的object
  23. if (contacts[j].hasOwnProperty(prop)){ //object中存在目標prop
  24. return contacts[j][prop];
  25. }
  26. else {
  27. return "No such property"; //object中不存在目標prop
  28. }
  29. }
  30. }
  31. }
  32. else { //firstName 不存在于contacts中
  33. return "No such contact";
  34. }
  35. // Only change code above this line
  36. }
心得:

寫文章先在本地寫,然后再復制到網頁中(不小心按到返回,也是沒誰了,多花了20分鐘重寫)。

循環還要多多練習。

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

</>復制代碼

  1. function contains(arr, obj) {
  2. var i = 0;
  3. while (i < arr.length) {
  4. if (arr[i] === obj) {
  5. return true;
  6. }
  7. i++;
  8. }
  9. return false;
  10. }
2017.02.14 How stupid am I !

今早起來才想起來,把return “No such contact”放在 for循環外,等for循環結束找不到firstName,會直接返回 “No such contact”.

</>復制代碼

  1. function lookUpProfile(firstName, prop){
  2. // Only change code below this line
  3. for( var i = 0; i < contacts.length; i++) {
  4. if(contacts[i].firstName === firstName) {
  5. if(contacts[i].hasOwnProperty(prop)) {
  6. return contacts[i][prop];
  7. }
  8. else {
  9. return "No such property";
  10. }
  11. }
  12. }
  13. return "No such contact";
  14. // Only change code above this line
  15. }

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

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/81499.html

相關文章

  • Luxon 初步介紹(Moment 團隊日期另一個類庫)

    摘要:我不是的深度用戶只是日常會遇到一些時間格式化的需求之前用的都是不過對的感到有些不舒服同事介紹過里邊用不可變數據的風格設計的所以就試試上星星很多請放心食用是項目的某個維護者開發的按照他個人想法進行了改進除了不可變性使用的工具做了更新也嘗試到時 我不是 Moment 的深度用戶, 只是日常會遇到一些時間格式化的需求,之前用的都是 Moment, 不過對 Moment 的 mutable A...

    stormzhang 評論0 收藏0
  • Javascript 注釋規范

    摘要:代碼注釋規范一語法注釋的說明語法寫在注釋塊第一行這是注釋的說明切換音頻播放狀態播放停止省略其它代碼標簽語法標簽的說明語法說明文字學生學生的名字類型語法可與標簽結合使用,如必傳參數可選參數語法可與標簽結合使用,如必傳參數可選參數參數有 Javascript 代碼注釋規范 一、語法 1. 注釋的說明 語法:寫在注釋塊第一行 /** * events-function(這是注釋的說明) ...

    ChanceWong 評論0 收藏0
  • 初學者學習JAVASCRIPT很吃力怎么辦?到底該如何學習JS?

    摘要:給初學者的印象總是那么的雜而亂,相信很多初學者都在找輕松學習的途徑。通常學了很久的基礎之后,變量函數對象你也都略知一二,但一到公司開發項目的時候,卻又難以下手。 Js給初學者的印象總是那么的雜而亂,相信很多初學者都在找輕松學習Js的途徑。在這里給大家總結一些學習Js的經驗,希望能給后來的學習者探索出一條輕松學習Js之路。Js給人那種感覺的原因多半是因為它如下的特點:A:本身知識很抽象、...

    WrBug 評論0 收藏0
  • 學習 Next.js: 入門

    摘要:原始文檔在現在搬過來學習入門學習頁面之間的導航學習使用共享組件學習創建動態內容學習使用路由掩碼創建干凈的學習干凈的服務器支持學習獲取數據學習部署哪位分高的幫忙創建一個的標簽謝謝現暫時放在標簽下面了新建文章有時間限制一會全部發上來這是最近兩天 原始文檔在 https://github.com/developerw... 現在搬過來. 學習 Next.js: 入門學習 Next.js: ...

    Miracle 評論0 收藏0
  • 學習 Next.js: 創建動態內容

    摘要:原始文檔在現在搬過來學習入門學習頁面之間的導航學習使用共享組件學習創建動態內容學習使用路由掩碼創建干凈的學習干凈的服務器支持學習獲取數據學習部署創建動態頁面現在我們知道了如何使用多個頁面創建一個基本的應用程序為了創建頁面我們需要在磁盤上創建 原始文檔在 https://github.com/developerw... 現在搬過來. 學習 Next.js: 入門學習 Next.js: ...

    caohaoyu 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<