<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ Jiajun Jiao - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ freeCodeCamp 是一个免费学习编程的开发者社区，涵盖 Python、HTML、CSS、React、Vue、BootStrap、JSON 教程等，还有活跃的技术论坛和丰富的社区活动，在你学习编程和找工作时为你提供建议和帮助。 ]]>
        </description>
        <link>https://www.freecodecamp.org/chinese/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ Jiajun Jiao - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/chinese/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Sat, 09 May 2026 13:42:15 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/chinese/news/author/jiajunjiao/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ 如何开始从事数据分析工作——初学者的路线图 ]]>
                </title>
                <description>
                    <![CDATA[ 感谢共同译者：John Cheng [https://www.freecodecamp.org/chinese/news/author/john/] 欢迎来到数据分析的世界！如果您正在考虑从事于此，可算是找对地方了。数据分析作为一个迅猛发展、令人心潮澎湃的领域，在当今数据社会下愈发重要。 面对现实，我们已经被海量的数据淹没了。从社交媒体，到金融交易，再到医疗记录，不乏可供筛选的信息。 因此数据分析师们应运而生。他们帮助我们理解所有数据，并将其转化为有价值的见解。 这些见解可以是颠覆性的。它们能帮助企业改善产品和服务，帮助政府发布更明智的政策，帮助个人在私人生活和职场中做出更好的选择。 除了其影响力，数据分析也是一个十分赚钱的工作。最近研究表明，美国数据分析师的年薪中位数大约在$70,000，这个数字随着经验和技术实力增长可能会更高。 当然，与任何职业一样，数据分析也有其面临的挑战：偶尔令人头疼的数据集、长久的冒名顶替症威胁，以及关于最佳编程语言或数据可视化工具的无休止争论。嘿！但是如果您准备好迎接挑战，这可能是适合您的领域。 所以如果您正在努力成为一个数据分析师，这篇文章 ]]>
                </description>
                <link>https://www.freecodecamp.org/chinese/news/data-analytics-roadmap/</link>
                <guid isPermaLink="false">64352fd5f3f6f8067537b424</guid>
                
                    <category>
                        <![CDATA[ 数据分析 ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Jiajun Jiao ]]>
                </dc:creator>
                <pubDate>Tue, 11 Apr 2023 10:09:00 +0000</pubDate>
                <media:content url="https://chinese.freecodecamp.org/news/content/images/2023/04/christopher-gower-m_HRfLhgABo-unsplash.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>原文：</strong> <a href="https://www.freecodecamp.org/news/data-analytics-roadmap/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">How to Get Started in Data Analytics – A Roadmap for Beginners</a>
      </p><!--kg-card-begin: markdown--><p>感谢共同译者：<a href="https://www.freecodecamp.org/chinese/news/author/john/">John Cheng</a></p>
<p>欢迎来到数据分析的世界！如果您正在考虑从事于此，可算是找对地方了。数据分析作为一个迅猛发展、令人心潮澎湃的领域，在当今数据社会下愈发重要。</p>
<p>面对现实，我们已经被海量的数据淹没了。从社交媒体，到金融交易，再到医疗记录，不乏可供筛选的信息。</p>
<p>因此数据分析师们应运而生。他们帮助我们理解所有数据，并将其转化为有价值的见解。</p>
<p>这些见解可以是颠覆性的。它们能帮助企业改善产品和服务，帮助政府发布更明智的政策，帮助个人在私人生活和职场中做出更好的选择。</p>
<p>除了其影响力，数据分析也是一个十分赚钱的工作。最近研究表明，美国数据分析师的年薪中位数大约在$70,000，这个数字随着经验和技术实力增长可能会更高。</p>
<p>当然，与任何职业一样，数据分析也有其面临的挑战：偶尔令人头疼的数据集、长久的冒名顶替症威胁，以及关于最佳编程语言或数据可视化工具的无休止争论。嘿！但是如果您准备好迎接挑战，这可能是适合您的领域。</p>
<p>所以如果您正在努力成为一个数据分析师，这篇文章为您量身打造。希望它能帮助您节省时间和精力，而不必像我一样浪费时间学习无关紧要的东西。</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/03/tenor-1.gif" alt="图1" width="600" height="400" loading="lazy"></p>
<h2 id="">第一步：了解数据分析师的职责</h2>
<p>您正在考虑从事数据分析师职业吗？太棒了！在继续之前，让我们先花点时间了解一下它。</p>
<p>您看，数据分析师的工作不仅仅是处理图片和生成图表（即使这些也很酷）。它还涉及通过数据来洞察和解决问题。这意味着提出正确的问题，组织并评估数据，以及向他人解释您的结论。</p>
<p>数据分析师通常拥有的核心技能、参与的核心活动包括：</p>
<ul>
<li>收集并分析庞大数据集，为业务决策提供信息的模式、趋势和洞察。</li>
<li>使用统计工具和技术，从数据中得出洞察。</li>
<li>开发并实现数据收集系统，以及其他能优化效率和数据质量的策略。</li>
<li>与其他小组合作，确定业务需求并开发数据解决方案。</li>
<li>以清晰且可操作的方式与利益相关者交流自己的发现和洞察.</li>
</ul>
<p>所以如果您不是数学或计算机方面的天才，不要担心。统计、计算机科学和商学都只是数据分析跨学科主题中包含的一小部分。每个享受学习、解决问题并希望有所作为的人都能真正地享受其中。</p>
<p>那如何才能了解更多数据分析师的工作内容呢？您可以从众多线上免费资源入手。比如说，<a href="https://www.freecodecamp.org/news/what-does-a-data-analyst-do-data-analyst-job-description/">这篇文章讨论了数据分析师的实际工作</a>；<a href="https://www.freecodecamp.org/news/data-analyst-vs-data-scientist-whats-the-difference/">这篇文章讨论了数据分析和数据科学</a>。</p>
<p>许多博客、播客以及YouTube频道都提供数据分析相关的娱乐和资讯内容。我将会在下方列出一些多年来对我有帮助的YouTube频道。</p>
<p>要了解所需技能和素质，您还可以与其他数据分析师联系、参加会议或研讨会，并研究职位描述。</p>
<p>别忘了考虑一下您是否享受处理数据。您喜欢寻找规律和解决难题吗？您想让世界变得更美好吗？如果答案是肯定的，数据分析可能是您理想的职业选择。</p>
<p>您的第一步是了解数据分析师的工作。尽情享受，慢慢来，同时不要犹豫提出疑问。</p>
<h2 id="">第二步：探索数据分析师的工作要求</h2>
<p>现在您已经对数据分析师的职责有了更深理解，是时候开始了解雇主有什么需求了。毕竟，您想要确保您的技能和知识符合就业市场的需求。</p>
<p>但在您开始担心没有足够经验之前，请记住：每个公司都是不同的。有些可能更需要编程技能，另一些可能更看重沟通能力和商业头脑。因此，调研并找出您想要的行业或公司最需要哪些特定技能和条件十分重要。</p>
<p>所以如何才能找到此类信息呢？您可以从查看 LinkedIn、Indeed 和 Glassdoor 等求职网站上的职位列表及描述着手开始。</p>
<p>下面列出了一些职位要求示例：</p>
<ul>
<li>熟练掌握SQL并有大型数据集的工作经验</li>
<li>熟悉Python，熟悉Tableau、Power BI等数据可视化工具</li>
<li>拥有强大的分析能力并能从复杂数据中洞察信息</li>
<li>拥有统计分析和建模技术的经验</li>
<li>拥有卓越的沟通能力，以及向技术和非技术受众解释复杂发现的能力</li>
</ul>
<p>但是不要止步于此！您还可以联系在此领域工作或拥有您感兴趣职位的人。咨询他们的经验，以及他们认为哪些技能对他们的工作取得成功最为重要。您甚至可以尝试与他们安排非正式面试以了解更多此领域的信息，并获取从何入门的建议。</p>
<p>说到入门，一定要记住没有什么可以替代实践经验。尽管花所有时间观看教程可能很吸引人，但通过实际创建并上手真实的数据分析项目，您将更快更有效地学习。</p>
<p>因此，花些时间去探索工作要求，但不要忘了持续培养自己的技能并获得实践经验。付出一点努力，同时维持好奇心，您就能成为一名成功的数据分析师。</p>
<h2 id="">第三步：适应数学和统计学</h2>
<p>好吧，我知道您在想什么。数学和统计学？哎呀！</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/03/im-out-gif-11-1.gif" alt="动图11-1" width="600" height="400" loading="lazy"></p>
<p>但在知难而退前，请听我讲两句。一名数据分析师为了能够理解数据并从中获得有价值的洞悉，对这些概念有基本了解是必要的。</p>
<p>那么您应该熟悉哪些基本统计概念和公式呢？</p>
<p>现在，首先，有一些集中趋势的测量方法，被称为平均值、中位数和众数，它们可以让您了解数据集的典型值。您应该知道如何计算它们。</p>
<p>标准差是数据与平均值的分布差距的测量方法，您应该能够计算它。</p>
<p>为了找到变量之间的关系，并基于其联系生成预测，您还应该熟悉相关性和回归的概念。</p>
<p>但这不仅仅是数字。您还需要初步了解线性代数，它在许多数据分析方法中都有应用。<a href="https://www.freecodecamp.org/news/linear-algebra-full-course/">这里有一个深入的课程（以及教科书）</a>带领您入门。</p>
<p>您可能需要使用矩阵以修改和操作数据，或者您可能需要使用<a href="https://www.freecodecamp.org/news/data-science-with-python-8-ways-to-do-linear-regression-and-measure-their-speed-b5577d75f8b/">线性回归</a>以根据历史趋势预测未来数值。</p>
<p>如果您没有扎实的数学背景，这可能看起来很难。但别担心！有许多可用的资源能辅助您学习。</p>
<p>比如说，可汗学院（Khan Academy）提供数学和统计的课程和练习任务。如果您更喜欢书籍，Andrew Park 撰写的 “Data Science for Beginners” 是很棒的资源，它以易于理解的方式涵盖了统计和数学原理。</p>
<p>freeCodeCamp 也正在开发数学课程，<a href="https://www.freecodecamp.org/chinese/news/freecodecamp-foundational-math-curriculum/">您可以点击此处阅读</a>。</p>
<p>您还可以阅读<a href="https://www.freecodecamp.org/news/statistics-for-data-science/">《您需要了解的统计学指南》</a>，以进入数据科学领域、从事机器学习等领域。</p>
<p>千里之行，始于足下。关键是要从小处着手并逐渐积累知识。在您需要时，不要害怕提问或寻求帮助。只需稍加练习并坚持，您很快就会发现数学和统计学实际上挺有趣的（真的！）。</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/03/raw.gif" alt="动图" width="600" height="400" loading="lazy"></p>
<h2 id="excel">第四步：精通 Excel 数据分析</h2>
<p>Excel 是数据分析师装备库中的重要工具。几乎每个组织都在使用它，而且掌握它可以帮助您轻松地清理、操作并分析数据。</p>
<p>使用 Excel，您可以创建公式和函数以进行计算、创建数据透视表和图表以可视化数据，以及使用数据分析工具预测并识别模式。Excel对于回归分析、预测和情景分析尤其有用。</p>
<p>如果您真的想成为一名数据分析师，那么掌握 Excel 是必要的。幸运的是，有大量可用的在线资源能帮助您学习。您可以在YouTube上观看教程 <a href="https://www.youtube.com/@excelisfun">ExcelIsFun</a>、<a href="https://www.youtube.com/playlist?list=PLmejDGrsgFyCZ4YC5s8mgdQztj7zt5to5">Excel Chandoo</a>、<a href="https://www.youtube.com/playlist?list=PLWPirh4EWFpEpO6NjjWLbKSCb-wx3hMql">Tutorials Point</a>、<a href="https://www.youtube.com/@AshutoshKumaryt">Ashutosh Kumar</a> 和 <a href="https://www.youtube.com/@MyOnlineTrainingHub">MyOnlineTrainingHub</a>。此外，以下课程将指导您如何充分利用 Excel。</p>
<ol>
<li><a href="https://www.coursera.org/learn/excel-data-analysis?irclickid=WskXxw2EKxyNRBjSCewfUQQZUkARwUz2LzeJ2A0&amp;irgwc=1&amp;utm_medium=partners&amp;utm_source=impact&amp;utm_campaign=1359419&amp;utm_content=b2c">使用 Excel 进行数据分析简介</a> Coursera</li>
<li><a href="https://www.freecodecamp.org/news/data-analysis-with-python-for-excel-users-course/">Excel 用户使用 Python 数据分析</a> freeCodeCamp 的 YouTube 频道</li>
<li><a href="https://www.coursera.org/specializations/excel?irclickid=WskXxw2EKxyNRBjSCewfUQQZUkARwUQvLzeJ2A0&amp;irgwc=1&amp;utm_medium=partners&amp;utm_source=impact&amp;utm_campaign=1359419&amp;utm_content=b2c">商业专业的 Excel 技能</a> Coursera</li>
<li><a href="https://www.edx.org/course/analyzing-and-visualizing-data-with-excel-2?irclickid=RrSQ3tWpyxyNTDdSXVVnIRUdUkARwR0WLzeJ2A0&amp;utm_source=affiliate&amp;utm_medium=guru99&amp;utm_campaign=Online%20Tracking%20Link_&amp;utm_content=ONLINE_TRACKING_LINK&amp;irgwc=1">使用 Excel 分析并可视化数据</a> EdX</li>
</ol>
<p>请记住，Excel 只是数据分析工具包中的工具之一。但它是您作为数据分析师每天都使用的重要工具。通过掌握 Excel，您将完全有能力处理遇到的任何数据相关的任务。</p>
<p>现在让我们学习下一项技能，这也是您作为数据分析师需要掌握的最重要技能之一。</p>
<h2 id="sql">第五步：熟练使用 SQL 提取数据</h2>
<p>SQL（结构化查询语言Structured Query Language）是一个在数据分析中重要的工具。作为一个数据分析师，您的主要责任包括从数据库中提取数据。SQL是帮助您实现该目的的编程语言。</p>
<p>SQL不仅限于执行像SELECT，FROM，和WHERE这样的基本查询。它是一个复杂的编程语言——您能用它以多种方式操纵和转化数据。SQL被用于从多个表格中合并数据，筛选提炼数据，和生成新的表格和视图。</p>
<p>为了成为一个高效的数据分析师，熟练掌握SQL非常重要。您需要能得心应手地查询数据，生成表格，并且理解如何使您的查询高效运行。</p>
<p>幸运的是，有很多帮助您学习SQL的资源。您能从以下平台开始您的学习：<a href="https://www.khanacademy.org/computing/computer-programming/sql/">可汗学院 SQL</a>、W3Schools、<a href="https://sqlzoo.net/wiki/SQL_Tutorial">SQLZoo</a>、<a href="https://sqlbolt.com/">SQLbolt</a>、<a href="https://www.youtube.com/@LukeBarousse">Luke Barousse</a>、<a href="https://www.youtube.com/@AlexTheAnalyst">Alex the Analyst</a>、<a href="https://www.youtube.com/@TheOyinbooke">Microsoft Power Tools</a>，最后，一些像 SQL island 和 SQL murder 这样的SQL游戏也能帮助您学习。</p>
<p>此外，还有很多现有的网课和书籍能够深入地覆盖SQL。以下是一些可以帮助您入门的例子：</p>
<ol>
<li><a href="https://www.freecodecamp.org/news/sql-and-databases-full-course/">学习SQL和数据库-初学者完整课程</a></li>
<li><a href="https://www.freecodecamp.org/news/learn-sql-free-relational-database-courses-for-beginners/#relational-database-freecodecamp-curriculum">来自freeCodeCamp的关系数据库课程</a></li>
<li><a href="https://www.freecodecamp.org/news/learn-sql-free-relational-database-courses-for-beginners/">免费的数据库课程系列</a></li>
</ol>
<p>通过熟练掌握SQL，您将能够从数据库中提取有价值的见解，并能操作数据以提供有意义的业务见解。</p>
<h2 id="python">第六步：针对数据分析学习 Python</h2>
<p>我了解有很多对于数据分析师是否需要学习 Python 的怀疑 —— 有人说要学，有人说不要。</p>
<p>对我而言，我更倾向于说这取决于您所在的公司 —— 但通过学习 Python 这种在数据分析中最广泛使用的编程语言以获得一技之长是不错的。Python 因它的简洁性、可读性和多功能性而出名。这使得它成为一个受数据分析师欢迎的选择。</p>
<p>Python 拥有着<a href="https://www.freecodecamp.org/news/python-data-science-course-matplotlib-pandas-numpy/">极为广泛的工具包和函数库</a>。 这些工具使得数据分析变得容易，比如说用于操纵和分析数据的 Pandas，和用于可视化数据的 Matplotlib。Python 也有着<a href="https://www.freecodecamp.org/news/python-automation-scripts/">自动化任务的能力</a>，这使数据分析变得更加简洁高效。</p>
<p><a href="https://www.freecodecamp.org/news/learn-data-analysis-with-python-course/">为数据分析学习Python</a> 是一个您在数据分析职业道路上的不错的投资。它不仅让您能使用强大的函数库工作，而且它还能为您提供不少机会，来分析更大的数据集和进行更复杂的分析。</p>
<p>从免费网课到付费的网络和纸质教程，有很多帮助您学习 Python 的资源。这些资源包括<a href="https://www.youtube.com/@freecodecamp">freeCodeCamp</a>、DataCamp、<a href="https://www.youtube.com/@codebasics">CodeBasis</a>、<a href="https://www.youtube.com/@programmingwithmosh">Programming with Mosh</a> 和 <a href="https://learn.microsoft.com?wt.mc_id=studentamb_207021">Microsoft Learn</a>。</p>
<p>通过学习 Python，您可以进行更复杂的数据分析，使任务自动化，和分析更多的数据库，使得您成为任何一个重视数据的公司所需要的人才。</p>
<h2 id="">第七步：精通一个数据可视化的工具</h2>
<p>作为一个数据分析师，能用简洁清晰的方式来展现您的发现是至关重要的。您能用数据可视化来达到这点。像 <a href="https://www.freecodecamp.org/news/python-in-powerbi/">PowerBI</a> 和 Tableau 这样的数据可视化工具可以使得别人更容易理解您的发现。我们待会会进一步讨论它们。</p>
<p>您可以看看这个<a href="https://www.freecodecamp.org/news/tableau-for-data-science-and-data-visualization-crash-course/">针对数据科学和数据可视化的 Tableau 教程</a>。</p>
<p>虽然 SQL 能够很好地查询和操作数据，它不能让这些数据获得生机。在这数据可视化工具就派上了用场。这些工具让您能将您的数据转化为一些有见地并且易于理解的形象。它们可以被分享给您的股东们。</p>
<p>您可以通过 freeCodeCamp 的 YouTube 频道来<a href="https://www.freecodecamp.org/news/learn-data-visualization-in-this-free-17-hour-course/">在这个深入且免费的课程中学习数据可视化基础</a>。</p>
<p>PowerBI 是一个对于数据可视化的极佳选择，因为它学习过程简单，并且能和其他微软产品相结合。对于使用 Microsoft Office 的企业而言，这点使 PowerBI 成为了一个理想的工具。Tableau 也是个流行的选择，它有着有凝聚力的用户社群和广泛的功能。</p>
<p>通过学习像 PowerBI 或 Tableau 这样的数据可视化工具，您能够创造些令人信服的可视化：它们能帮助您更好地理解自己的数据，更好地向大家分享自己的发现。有很多网课和教程能够帮到您学习这些工具，比如说官方的<a href="https://learn.microsoft.com/en-us/training/modules/get-started-with-power-bi/">微软 PowerBI 训练</a>和 <a href="https://trailheadacademy.salesforce.com/classes/TVA101-Tableau-Visual-Analytics">Tableau's 自己的教学课程</a>。</p>
<p>通过熟练掌握一个数据可视化的工具，您能够创造可互动且吸引人的可视化。它们能够帮助您更好地理解您的数据和向大家交流您的数据。这也使得您成为任何一个重视数据的公司所需要的人才。</p>
<p>您也可以更深入地了解其他的热门数据可视化工具，比如说 D3.js —— <a href="https://www.freecodecamp.org/news/data-visualization-using-d3-course/">这是个能帮助您学习它的课程</a>。</p>
<h2 id="">第八步：和其他数据分析师和开发者建立联系</h2>
<p>对于任何职业而言，建立人际网都是特别重要的，对于数据分析也不例外。通过和别的数据分析师和开发者建立联系，您能够从他们的经历中学习，得到关于最新行业趋势和技术的洞见，并且可能找到工作机会。</p>
<p>以下是和该领域从业者建立联系的几种方法：</p>
<ol>
<li>参加行业活动：寻找会议、见面会和其他和数据分析相关的项目，然后参加它们。这个方法能很好地帮助您遇见该行业其他的从业者并了解更多最新发展和科技。<br>
2.加入网上的社群：有很多关于数据分析师和开发者的网络社群，比如说讨论平台、LinkedIn 小组，和社交媒体小组。可以加入这些社群并参与讨论，从而和该领域的其他人产生联系。<br>
3.与别人沟通：不要害怕和别的数据分析师和开发者沟通，不管是通过社交媒体，邮件，还是线下见面。向他们介绍自己，询问一些建议，然后建立关系。</li>
</ol>
<p>记住，建立人际网是双向的。我们也要愿意帮忙和向别人提供建议。通过在数据分析领域里建立一个好的联系网络，您可以增加您的职场机会，并且了解当下的产业趋势和技术。</p>
<h2 id="">第九步：不要忘了软技能</h2>
<p>在成为一个出色的数据分析师之前，我能想到的最后一个需要练习的技能是您的软技能。它包括您的交流和解决问题等能力。</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2023/03/Analyst.jpeg" alt="分析师" width="600" height="400" loading="lazy"></p>
<p>当所有这些完成之后，练习再练习，然后建立项目。</p>
<h2 id="">结论</h2>
<p>成为一个数据分析师，我们需要投入、努力、和对数据分析的热爱。通过在这份指南里列出的步骤，我们可以得到成为一个成功的数据分析师所需的技能和知识。</p>
<p>从理解数据分析师的工作，到熟练掌握SQL和Python，再到和其他的开发者建立联系，其中每一步对于在数据分析领域取得成功而言都至关重要。</p>
<p>要记得保持好奇心、从不停止学习，也要记得一直愿意去接受新的科技和方法。带着决心和坚持，您能成为一个熟练的数据分析师，并解锁更多令人激动的职业机会。</p>
<!--kg-card-end: markdown--> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ 在 JavaScript 中如何生成指定范围内的随机数 ]]>
                </title>
                <description>
                    <![CDATA[ 如果你想在 10 和 15 之间生成一个随机数，如何通过 JavaScript 实现呢？在这篇文章里，我将通过实例向你介绍。 JavaScript中，Math 对象的 random  方法可以实现返回随机数，然而它有着取值范围的局限性。接下来，让我们看看如何使用这个方法来解决不同范围的问题。 我为这个文章创建了一个视频版本 [https://www.youtube.com/watch?v=oUZVKzXVJaE]，你可以作为补充资料进行学习。 如何在 JavaScript 中使用 Math.random 已知random 方法返回一个 0 和 1 之间的随机浮点数。 示例： Math.random() // 0.26636355538480383 Math.random() // 0.6272624945940997 Math.random() // 0.05992852707853347 可以注意到，运行结果返回了 0 和 1 之间的随机数。现在我们尝试将此方法延伸到其他取值范围。 如何在 JavaScript 中获取给定范围中的随机数 接下来我们为此构建一个函数 ]]>
                </description>
                <link>https://www.freecodecamp.org/chinese/news/generate-random-number-within-a-range-in-javascript/</link>
                <guid isPermaLink="false">641c262a5e1a4c068f38d670</guid>
                
                    <category>
                        <![CDATA[ JavaScript ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Jiajun Jiao ]]>
                </dc:creator>
                <pubDate>Thu, 23 Mar 2023 10:19:00 +0000</pubDate>
                <media:content url="https://chinese.freecodecamp.org/news/content/images/2023/03/9.-random-number.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>原文：</strong> <a href="https://www.freecodecamp.org/news/generate-random-number-within-a-range-in-javascript/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">How to Generate a Random Number within Certain a Range in JavaScript</a>
      </p><!--kg-card-begin: markdown--><p>如果你想在 <code>10</code> 和 <code>15</code> 之间生成一个随机数，如何通过 JavaScript 实现呢？在这篇文章里，我将通过实例向你介绍。</p>
<p>JavaScript中，<code>Math</code> 对象的 <code>random</code> 方法可以实现返回随机数，然而它有着取值范围的局限性。接下来，让我们看看如何使用这个方法来解决不同范围的问题。</p>
<p>我为这个文章创建了一个<a href="https://www.youtube.com/watch?v=oUZVKzXVJaE">视频版本</a>，你可以作为补充资料进行学习。</p>
<h2 id="javascriptmathrandom">如何在 JavaScript 中使用 <code>Math.random</code></h2>
<p>已知<code>random</code> 方法返回一个 <code>0</code> 和 <code>1</code> 之间的随机浮点数。</p>
<p>示例：</p>
<pre><code class="language-js">Math.random()
// 0.26636355538480383

Math.random()
// 0.6272624945940997

Math.random()
// 0.05992852707853347
</code></pre>
<p>可以注意到，运行结果返回了 <code>0</code> 和 <code>1</code> 之间的随机数。现在我们尝试将此方法延伸到其他取值范围。</p>
<h2 id="javascript">如何在 JavaScript 中获取给定范围中的随机数</h2>
<p>接下来我们为此构建一个函数：</p>
<pre><code class="language-js">function getRandom(min, max) {
  // 执行代码
}
</code></pre>
<p>此函数接收 <code>min</code>（范围中的最小值）和 <code>max</code>（范围中的最大值）作为参数。基于此范围和 <code>Math.random</code>，我们想实现获取随机数：</p>
<pre><code class="language-js">function getRandom(min, max) {
  const floatRandom = Math.random()

  const difference = max - min

  // 介于 0 和差值之间的随机数
  const random = Math.round(difference * floatRandom)

  const randomWithinRange = random + min

  return randomWithinRange
}
</code></pre>
<p>以下是函数的基本逻辑：</p>
<ul>
<li>首先，我们通过 <code>Math.random()</code> 获取一个随机浮点数。</li>
<li>接下来，我们求出最大值和最小值的差。</li>
<li>随后，我们可以获得<code>0</code>和大小差值之间的一个随机数。</li>
</ul>
<p>为了获得上述随机数，我们只需将（从<code>Math.random</code>中）获取的随机数与大小差值相乘，随后对结果使用 <code>Math.round</code> 四舍五入取整即可。</p>
<p>例如：</p>
<ul>
<li><code>Math.random</code> 返回 <strong>0.3</strong> 并且大小差值为 <strong>5</strong>, 其乘积为 <strong>1.5</strong>。使用 <code>Math.round</code> 将其四舍五入到 <strong>2</strong>（在 <code>0</code> 和大小差值 <code>5</code> 之间）。</li>
<li><code>Math.random</code> 返回 <strong>0.9</strong> 并且大小差值为 <strong>8</strong>, 其乘积为 <strong>7.2</strong>。使用 <code>Math.round</code> 将其四舍五入到 <strong>7</strong>（在 <code>0</code> 和大小差值 <code>8</code> 之间）。</li>
</ul>
<p>现在已经获得了 <code>0</code> 和大小差值之间的一个随机整数，我们可以将其与最小值相加。这样就得到了在最小值和最大值之间的随机整数。最后将此结果作为 <code>randomWithinRange</code> 函数的返回值。</p>
<p>接下来让我们看看此函数的应用实例：</p>
<pre><code class="language-js">console.log(getRandom(10, 15))
// 14

console.log(getRandom(10, 15))
// 11

console.log(getRandom(10, 15))
// 12

console.log(getRandom(10, 15))
// 15
</code></pre>
<p>以上例子中，我们使用 <strong>10</strong> 作为 <code>min</code>，<strong>15</strong> 作为 <code>max</code>。通过这两个参数调用四次函数，可以注意到结果都是在所提供范围内的随机数。</p>
<p>让我们看看另一个应用实例：</p>
<pre><code class="language-js">console.log(getRandom(180, 450))
// 215

console.log(getRandom(180, 450))
// 386

console.log(getRandom(180, 450))
// 333

console.log(getRandom(180, 450))
// 442
</code></pre>
<p>以上例子中，我们使用 <strong>180</strong> 作为 <code>min</code>，<strong>450</strong> 作为 <code>max</code>。同样的，结果也在预料之内。</p>
<h2 id="">总结</h2>
<p>如果你需要在给定范围内生成随机数，我希望这篇文章能提供有用的思路。</p>
<p>在这篇文章里，我解释了 <code>Math.random</code> 的取值范围限制：它只能返回一个 <code>0</code> 和 <code>1</code> 之间的随机数。我接着向你展示了如何应用此数学函数自创一个可重复使用的函数，以生成任何你选择的范围内的随机数。</p>
<p>如果你觉得这篇文章有帮助，不妨分享给他人。</p>
<!--kg-card-end: markdown--> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
