发布网友 发布时间:2022-04-23 18:49
共2个回答
懂视网 时间:2022-05-10 06:29
本篇文章给大家介绍一下forEach()、Array.map()和Array.filter()的用法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
Array.forEach()
forEach()方法为每个数组元素调用一次函数(回调函数)。【相关课程推荐:JavaScript视频教程】
<!DOCTYPE html> <html> <meta charset="utf-8"> <title>JavaScript Array.forEach()</title> <body> <h2>JavaScript Array.forEach()</h2> <p>为每个数组元素调用一次函数。</p> <p id="demo"></p> <script> var txt = ""; var numbers = [45, 4, 9, 16, 25]; numbers.forEach(myFunction); document.getElementById("demo").innerHTML = txt; function myFunction(value, index, array) { txt = txt + value + "<br>"; } </script> </body> </html>
请注意,该函数有3个参数:
● 元素值
● 元素索引
● 数组本身
上面的示例仅使用value参数。该示例可以重写为:
<!DOCTYPE html> <html> <meta charset="utf-8"> <title>JavaScript Array.forEach()</title> <body> <h2>JavaScript Array.forEach()</h2> <p>为每个数组元素调用一次函数。</p> <p id="demo"></p> <script> var txt = ""; var numbers = [45, 4, 9, 16, 25]; numbers.forEach(myFunction); document.getElementById("demo").innerHTML = txt; function myFunction(value) { txt = txt + value + "<br>"; } </script> </body> </html>
Array.map()
map()方法通过对每个数组元素执行函数来创建新数组。map()方法是不执行没有值的数组元素的函数。map()方法不会更改原始数组。
此示例将每个数组值乘以2:
<!DOCTYPE html> <html> <meta charset="utf-8"> <title>JavaScript Array.map()</title> <body> <h2>JavaScript Array.map()</h2> <p>通过对每个数组元素执行函数来创建新数组。</p> <p id="demo"></p> <script> var numbers1 = [45, 4, 9, 16, 25]; var numbers2 = numbers1.map(myFunction); document.getElementById("demo").innerHTML = numbers2; function myFunction(value, index, array) { return value * 2; } </script> </body> </html>
请注意,该函数有3个参数:
● 元素值
● 元素索引
● 数组本身
当回调函数仅使用value参数时,可以省略索引和数组参数:
<!DOCTYPE html> <html> <body> <h2>JavaScript Array.map()</h2> <p>通过对每个数组元素执行函数来创建新数组。</p> <p id="demo"></p> <script> var numbers1 = [45, 4, 9, 16, 25]; var numbers2 = numbers1.map(myFunction); document.getElementById("demo").innerHTML = numbers2; function myFunction(value) { return value * 2; } </script> </body> </html>
Array.filter()
filter()方法创建一个新数组,其中包含传递测试的数组元素。此示例从值大于18的元素创建新数组:
<!DOCTYPE html> <html> <meta charset="utf-8"> <title>JavaScript Array.filter()</title> <body> <h2>JavaScript Array.filter()</h2> <p>使用通过测试的所有数组元素创建一个新数组。</p> <p id="demo"></p> <script> var numbers = [45, 4, 9, 16, 25]; var over18 = numbers.filter(myFunction); document.getElementById("demo").innerHTML = over18; function myFunction(value, index, array) { return value > 18; } </script> </body> </html>
请注意,该函数有3个参数:
● 元素值
● 元素索引
● 数组本身
<!DOCTYPE html> <html> <meta charset="utf-8"> <title>JavaScript Array.filter()</title> <body> <h2>JavaScript Array.filter()</h2> <p>使用通过测试的所有数组元素创建一个新数组。</p> <p id="demo"></p> <script> var numbers = [45, 4, 9, 16, 25]; var over18 = numbers.filter(myFunction); document.getElementById("demo").innerHTML = over18; function myFunction(value) { return value > 18; } </script> </body> </html>
本文来自 js教程 栏目,欢迎学习!
热心网友 时间:2022-05-10 03:37
数组遍历常见的方法有:
一、forEach方法
forEach是最简单、最常用的数组遍历方法,它提供一个回调函数,可用于处理数组的每一个元素,默认没有返回值。
二、map方法
map,从字面上理解,是映射,即数组元素的映射。它提供一个回调函数,参数依次为处于当前循环的元素、该元素下标、数组本身,三者均可选。默认返回一个数组,这个新数组的每一个元素都是原数组元素执行了回调函数之后的返回值。
map方法不改变原数组。
三、filter方法
filter,过滤,即对数组元素的一个条件筛选。它提供一个回调函数,参数依次为处于当前循环的元素、该元素下标、数组本身,三者均可选。默认返回一个数组,原数组的元素执行了回调函数之后返回值若为true,则会将这个元素放入返回的数组中。
filter方法不改变原数组。
四、some、every方法
some方法和every的用法非常类似,提供一个回调函数,参数依次为处于当前循环的元素、该元素下标、数组本身,三者均可选。
数组的每一个元素都会执行回调函数,当返回值全部为true时,every方法会返回true,只要有一个为false,every方法返回false。当有一个为true时,some方法返回true,当全部为false时,every方法返回false。
some、every方法不改变原数组。
五、rece方法
rece方法有两个参数,第一个参数是一个回调函数(必须),第二个参数是初始值(可选)。回调函数有四个参数,依次为本轮循环的累计值、当前循环的元素(必须),该元素的下标(可选),数组本身(可选)。
rece方法,会让数组的每一个元素都执行一次回调函数,并将上一次循环时回调函数的返回值作为下一次循环的初始值,最后将这个结果返回。
如果没有初始值,则rece会将数组的第一个元素作为循环开始的初始值,第二个元素开始执行回调函数。
最常用、最简单的场景,是数组元素的累加、累乘。
rece方法不改变原数组。
六、for of方法
es6新增了interator接口的概念,目的是对于所有数据结构提供一种统一的访问机制,这种访问机制就是for of。
即:所有有interator接口的数据,都能用for of遍历。常见的包括数组、类数组、Set、Map等都有interator接口。
扩展资料:
数组(Array)是有序的元素序列。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按有序的形式组织起来的一种形式。 这些有序排列的同类数据元素的集合称为数组。
数组是用于储存多个相同类型数据的集合。
在C语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。