首页 >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