JavaScript:forEach、map、箭头函数、setTimeout、setInterval、filter、some、every 和 reduce
forEach方法
forEach 用于迭代数组。这是一个简单的例子:
const numbers = [1, 2, 3, 4, 5, 6, 7]; numbers.forEach(function (el) { if (el % 2 === 0) { console.log(el); } });
现在让我们将 forEach 与对象数组一起使用:
const movies = [ { title: 'Indiana Jones', score: 77, }, { title: 'Star Trek', score: 94, }, { title: 'Deadpool', score: 79, }, ]; movies.forEach(function (movie) { console.log(`${movie.title} - ${movie.score}/100`); });
地图
Map 使用对数组中每个元素调用回调的结果创建一个新数组。
首先,让我们迭代一个基本数组:
const lCase = ['jim', 'bob', 'abby']; const uCase = lCase.map(function (t) { return t.toUpperCase(); }); console.log(lCase, uCase);
现在,让我们迭代对象数组:
const movies = [ { title: 'Indiana Jones', score: 77, }, { title: 'Star Trek', score: 94, }, { title: 'Deadpool', score: 79, }, ]; const titles = movies.map(function (movie) { return movie.title; }); console.log(titles);
箭头功能
我们可以编写如下箭头函数来简化语法:
const square = (x) => { return x * x; }; const sum = (x, y) => { return x + y; }; const rollDie = () => { return Math.floor(Math.random() * 6) + 1; }; console.log(square(2), sum(2, 3)); console.log(rollDie());
我们还可以重新访问电影示例并使用箭头函数:
const movies = [ { title: 'Indiana Jones', score: 77, }, { title: 'Star Trek', score: 94, }, { title: 'Deadpool', score: 79, }, ]; const newMovies = movies.map((movie) => { return `${movie.title} = ${movie.score} / 10`; });
隐式回报
隐式返回是编写函数的另一种简写方式,一些示例包括:
const rollDie = () => Math.floor(Math.random() * 6) + 1; const isEven = (num) => num % 2 === 0;
设置超时
x 毫秒后运行回调
console.log('Apears 1st'); // takes callback, then milliseconds setTimeout(() => { console.log('Apears 3rd'); }, 3000); console.log('Apears 2nd');
设置间隔
每 x 毫秒重复一次回调
setInterval(() => { console.log(Math.random()); }, 2000);
如果我们想让回调最终停止,我们可以这样做:
const id = setInterval(() => { console.log(Math.random()); }, 2000); clearInterval(id); // stops the loop
过滤方式
Filter 创建一个新数组,其中包含在回调函数中返回 true 的元素
const nums = [9, 8, 7, 6, 5, 4, 3, 2, 1]; const odds = nums.filter((n) => { return n % 2 === 1; // our callback returns true or false // if it returns true, n is added to the filtered array }); // [9, 7, 5, 3, 1] const smallNums = nums.filter((n) => n <p>我们还可以过滤数组中的对象:<br> </p> <pre class="brush:php;toolbar:false">const movies = [ { title: 'Indiana Jones', score: 77, }, { title: 'Star Trek', score: 94, }, { title: 'Deadpool', score: 79, }, ]; const badMovies = movies.filter((movie) => { return movie.score <h2> 一些和每一个 </h2>
- Some - 测试数组中的任何元素是否在回调函数中返回 true。它返回一个布尔值
const firstWords = ['dog', 'jello', 'log', 'bag', 'wag', 'cupcake']; words.some((word) => { return word.length > 4; }); // true words.some((word) => word[0] === 'Z'); // false words.some((word) => word.includes('cake')); // true
- Every - 测试数组中的所有元素是否在回调函数中返回 true。它返回一个布尔值
const words = ['dog', 'dig', 'log', 'bag', 'wag']; words.every((word) => { return word.length === 3; }); // true words.every((word) => word[0] === 'd'); // false words.every((w) => { return w[w.length - 1] === 'g'; }); // true
减少
- reduce 回调函数中的第一个(也是可能的唯一)参数。
- 该函数的第一个参数是一个值,当我们迭代每个项目时,该值可能会发生变化。
- 此函数中的第二个参数是数组索引中的值。
- reduce 的可选第二个参数是我们希望回调函数的第一个值开始的值。
const prices = [9.99, 1.5, 19.99, 49.99, 30.5]; const total = prices.reduce((total, price) => { return total + price; }); const min = prices.reduce((min, price) => { return Math.min(min, price); }); console.log(min);
我们也可以使用对象数组来做到这一点:
const movies = [ { title: 'Indiana Jones', score: 77, }, { title: 'Star Trek', score: 94, }, { title: 'Deadpool', score: 79, }, ]; let bestMovie = movies.reduce((best, movie) => { if (movie.score > best.score) { return movie; } return best; }); console.log(bestMovie);
我们还可以设置reducer的初始值:
let nums = [1, 2, 3, 4, 5]; let maxPlus100 = nums.reduce((max, num) => { return (max += num); }, 100); console.log(maxPlus100); // 115
以上是JavaScript:forEach、map、箭头函数、setTimeout、setInterval、filter、some、every 和 reduce的详细内容。更多信息请关注PHP中文网其他相关文章!

Python和JavaScript的主要区别在于类型系统和应用场景。1.Python使用动态类型,适合科学计算和数据分析。2.JavaScript采用弱类型,广泛用于前端和全栈开发。两者在异步编程和性能优化上各有优势,选择时应根据项目需求决定。

选择Python还是JavaScript取决于项目类型:1)数据科学和自动化任务选择Python;2)前端和全栈开发选择JavaScript。Python因其在数据处理和自动化方面的强大库而备受青睐,而JavaScript则因其在网页交互和全栈开发中的优势而不可或缺。

Python和JavaScript各有优势,选择取决于项目需求和个人偏好。1.Python易学,语法简洁,适用于数据科学和后端开发,但执行速度较慢。2.JavaScript在前端开发中无处不在,异步编程能力强,Node.js使其适用于全栈开发,但语法可能复杂且易出错。

javascriptisnotbuiltoncorc; saninterpretedlanguagethatrunsonenginesoftenwritteninc.1)javascriptwasdesignedAsalightweight,解释edganguageforwebbrowsers.2)Enginesevolvedfromsimpleterterterpretpreterterterpretertestojitcompilerers,典型地提示。

JavaScript可用于前端和后端开发。前端通过DOM操作增强用户体验,后端通过Node.js处理服务器任务。1.前端示例:改变网页文本内容。2.后端示例:创建Node.js服务器。

选择Python还是JavaScript应基于职业发展、学习曲线和生态系统:1)职业发展:Python适合数据科学和后端开发,JavaScript适合前端和全栈开发。2)学习曲线:Python语法简洁,适合初学者;JavaScript语法灵活。3)生态系统:Python有丰富的科学计算库,JavaScript有强大的前端框架。

JavaScript框架的强大之处在于简化开发、提升用户体验和应用性能。选择框架时应考虑:1.项目规模和复杂度,2.团队经验,3.生态系统和社区支持。

引言我知道你可能会觉得奇怪,JavaScript、C 和浏览器之间到底有什么关系?它们之间看似毫无关联,但实际上,它们在现代网络开发中扮演着非常重要的角色。今天我们就来深入探讨一下这三者之间的紧密联系。通过这篇文章,你将了解到JavaScript如何在浏览器中运行,C 在浏览器引擎中的作用,以及它们如何共同推动网页的渲染和交互。JavaScript与浏览器的关系我们都知道,JavaScript是前端开发的核心语言,它直接在浏览器中运行,让网页变得生动有趣。你是否曾经想过,为什么JavaScr


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

SublimeText3 Linux新版
SublimeText3 Linux最新版

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。