首頁 >web前端 >js教程 >JavaScript - ray 有氧運動第 2 天

JavaScript - ray 有氧運動第 2 天

WBOY
WBOY原創
2024-07-17 20:27:43265瀏覽

大家好,歡迎回到 Wes Bos 的 JavaScript30 的另一天!好吧……距離我上次發文已經過去兩週多了,這真是令人難過。 話雖這麼說,我確實在目前的工作中發出了通知,他們一直在讓我陷入困境,所以我最近沒有那麼多時間來寫代碼……但現在我正式成為你的兼職了可以打賭,這些帖子將開始更頻繁地發布,而且可能會更加多樣化,因為除了這個專案之外,我還將有時間從事其他專案。 然而,您來這裡並不是為了了解我生活的最新動態,您來這裡是為了了解有關本課程的更多資訊! 那麼就讓我們開始吧!

陣列有氧運動第二天與第一天相比根本不算什麼。 我不會說謊。 根據第一個挑戰的進展情況,我絕對害怕接受這個挑戰。 第一門課程讓我不斷在谷歌上搜尋並跳過障礙。 這確實感覺像是一次鍛煉,而這更像是一次伸展運動,或者可能是瑜伽課程。 Array Cardio 第 2 天的第一部分涉及使用 Array.prototype.some() 和 Array.protoype.every()。 我們得到了一個數組中的對象,其中包含人員列表及其出生年份。 根據這些訊息,我們被要求弄清楚是否至少有一個人超過 19 歲,然後是否每個人都超過 19 歲。

const people = [
      { name: 'Wes', year: 1988 },
      { name: 'Kait', year: 1986 },
      { name: 'Irv', year: 1970 },
      { name: 'Lux', year: 2015 }
    ];
    // Some and Every Checks
    // Array.prototype.some() // is at least one person 19 or older?
    const isAdult = people.some(person => ((new Date())
  .getFullYear()) - person.year >= 19 )

  console.log({isAdult})
    // Array.prototype.every() // is everyone 19 or older?
    const areAdult = people.every(person => {
      const currentYear = (new Date()).getFullYear();
      return currentYear - person.year >= 19
    }
  )
  console.log(areAdult)

這部分挑戰讓我對自己感覺非常好,我不會對此撒謊。 經過快速谷歌搜尋後,我得到瞭如何使用 Array.prototype.some() 的答案,而答案也直接應用於 .every()。 我絕對把它從水中吹出來,感覺我能夠在創紀錄的時間內完成這項挑戰。事實證明我既對又錯...

這個挑戰的第二部分,也是最後一部分涉及 Array.prototype.find() 和 Array.prototype.findIndex()。 我們在數組中得到了另一個對象,但這次它有一個針對某種餐廳評論的評論列表,所有評論都有自己的 ID 號碼來幫助區分它們。 就像在進行快速谷歌搜尋之前向我展示瞭如何使用 .find() 以及如何很好地使用它一樣,但看起來這並不完全是 Wes 想要的。 我只在使用 console.log 時使用 .find() 來引用我製作的根據給定數字呼叫 id 的函數。 我想我可以說這與他所做的相似......有點......你知道,考慮到我們都得出了相同的結果。 但我不知道,在這種情況下,我想我比他的程式碼更喜歡我的程式碼。

    const comments = [
      { text: 'Love this!', id: 523423 },
      { text: 'Super good', id: 823423 },
      { text: 'You are the best', id: 2039842 },
      { text: 'Ramen is my fav food ever', id: 123523 },
      { text: 'Nice Nice Nice!', id: 542328 }
    ];
    // Find is like filter, but instead returns just the one you are looking for
    // find the comment with the ID of 823423

    function hasId(idNumber) {
      return idNumber.id === 823423
    }
    console.log (comments.find(hasId))

    // Array.prototype.findIndex()
    // Find the comment with this ID
    // delete the comment with the ID of 823423
    function thisId(idNumber) {
      return idNumber.id === 823423
    }
    console.log (comments.findIndex(thisId))

    const index = comments.findIndex(comment => comment.id === 823423)

    const newComments = [
      ...comments.slice(0, index),
      ...comments.slice(index + 1)
    ]
    console.table(newComments)

事實證明,我不清楚他希望我們在挑戰的最後部分做什麼。 在讓我們使用 findIndex() 的同時,他也希望我們刪除具有與我們之前找到的相同 id 的評論。 我剛剛通過 VScode 並手動刪除了註釋。 公平地說,我認為他只是想向我們展示如果評論不再存在會返回什麼。 事實證明,他希望我們使用 .splice 或 .slice 透過新程式碼刪除註解(這對於本練習更有意義),然後讓我們存取其中沒有特定註解的新陣列。 所以...是的...我沒有達到這一點,因為我只是手動刪除了它。 但我確實回去和他一起編碼,看看如何透過新的程式碼行來實現這一點。

就是這樣。 Array 有氧運動第二天。得知沒有第三天,我感到很欣慰。 我並不是說我不能對數組以及如何與它們互動進行更多練習。 就本課程而言,這些可能是迄今為止最無趣的。 請留意我將要講的下一課,希望它會在本週或下週初發布,因為我將有更多時間! 無論如何,我希望您已準備好使用 JavaScript30:享受 HTML5 Canvas 的樂趣!

Fun With HTML5 Canvas

以上是JavaScript - ray 有氧運動第 2 天的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn