分享几种原生JS数组遍历的方法和应用 - Web前端
作者:98wpeu发布时间:2026-09-18分类:网页前端技术浏览:1

数组遍历,对于前后端开发人员,是必须掌握的方法,那么数组遍历有哪些方法呢?
OK,今天就分享几种原生JS方法,从原生开始学习,有助于大家应用到各种框架【小程序、三大框架等】中去,毕竟原生才是基本。一共有这些:for,forEach,some,map,filter,every。
接下来一一说明。
for和for/in
for 循环是您在希望创建循环时常会用到的工具。
基本语法:
for (语句 1; 语句 2; 语句 3)
{
被执行的代码块
}语句 1 在循环(代码块)开始前执行
语句 2 定义运行循环(代码块)的条件
语句 3 在循环(代码块)已被执行之后执行
例子:
for (var i=0; i<5; i++)
{
x=x + "The number is " + i + "<br>";
}从上面的例子中,您可以看到:
Statement 1 在循环开始之前设置变量 (var i=0)。
Statement 2 定义循环运行的条件(i 必须小于 5)。
Statement 3 在每次代码块已被执行后增加一个值 (i++)。
for/in 语句用于循环对象属性。
循环中的代码每执行一次,就会对数组的元素或者对象的属性进行一次操作。
基本语法:
for (var in Object) {
执行的代码块
}例子:
var person = {fname:"John", lname:"Doe", age:25};
var text = "";
var x;
for (x in person) {
text += person[x];
}
结果:
John Doe 25还有在es5/6中,我们可以这样的语法来写:
for (let i in arr)
for (const v of arr)
做小程序的时候经常会用到这些语法。
foreach()
foReach() 方法用于调用数组的每个元素,并将元素传递给回调函数。
注意: forEach() 对于空数组是不会执行回调函数的。
基本语法:
Array.forEach(function(currentvalue, index, arr), thisValue)
| 参数 | 描述 |
|---|---|
| function(currentValue, index, arr) | 必需。 数组中每个元素需要调用的函数。 函数参数:参数描述currentValue必需。当前元素index可选。当前元素的索引值。arr可选。当前元素所属的数组对象。 |
| thisValue | 可选。传递给函数的值一般用 "this" 值。 如果这个参数为空, "undefined" 会传递给 "this" 值 |
例子:
1、计算数组所有元素相加的总和:
<button onclick="numbers.forEach(myFunction)">点我</button>
<p>数组元素总和:<span id="demo"></span></p>
<script>var sum = 0;
var numbers = [65, 44, 12, 4];
function myFunction(item) {
sum += item;
demo.innerHTML = sum;
}</script>2、将数组中的所有值乘以特定数字:
<p>乘以: <input type="number" id="multiplyWith" value="10"></p><button onclick="numbers.forEach(myFunction)">点我</button>
<p>计算后的值: <span id="demo"></span></p>
<script>var numbers = [65, 44, 12, 4];
function myFunction(item,index,arr) {
arr[index] = item * document.getElementById("multiplyWith").value;
demo.innerhtml = numbers;
}</script>some
对数组中每个元素执行一次ck函数,知道某个元素返回true,则直接返回true。如果都返回false,则返回false
检查整个数组中是否有满足ck函数的元素。
基本语法:
[...].some(ck)函数 ---- 某个一个为true,则为true
例子:
var result = [1,5,3,6].some( (v,i) => (v>10) ) //所有元素都不满足,返回result = false var result = [10,5,30,60].some( (v,i) => (v<10) ) //有一个(多个)满足,返回result = true
map
每个数组元素都执行一次ck函数,最后返回每次元素执行ck函数后返回值的集合(数组)
基本语法:
[...].map(ck)函数 ---- 返回每个元素返回值的集合
例子:
var newarray = [50,30,40].map( (v,i) => v/10 )
filter
每个数组元素都执行一次ck函数,最后返回每次元素执行ck函数后返回值的为true的元素集合(数组)。
基本语法:
[...].filter(ck)函数 ---- 得到返回值为true的元素的集合
例子:
var newArray = [50,2,60,4,53,15].filter( (v,i) => (v>10) ) //返回数组中大于10的元素新数组 newArray = [50,60,53,15]
every
每个数组元素都执行一次ck函数,直到某个元素执行函数ck返回false,则直接返回false,如果全部返回true,则返回true
基本语法:
[...].every(ck)函数 ---- 某一个为false,则返回false
例子:
var result = [5,50,35,12,85].every( (v,i) => v<51 ) //返回有一个(多个)大于等于51,则返回 result = false var result = [5,50,35,12,85].every( (v,i) => v<100 ) //全部大于51,则返回 result = true
总结
今天主要分享了一些数组遍历的几种方法,下篇文章是关于for数组循环的一些区别和应用,敬请期待吧。
相关推荐
- 网页前端技术排行
-
- 1[Web前端]用javascript实现默认图片替代未显示的图片 - Web前端
- 2分析Iconfont-阿里巴巴矢量常用图标库 - Web前端
- 3jQuery实例教程:制作网页中可折叠的面板 - Web前端
- 4【第六章】Foundation之按钮和下拉功能 - Web前端
- 5基于jquery的滚动条滚动固定div(附演示下载) - Web前端
- 6jQuery编写widget的一些技巧分享 - Web前端
- 7分享精心挑选的12款优秀jQuery Ajax分页插件和教程 - Web前端
- 8jQuery实现鼠标移到元素上动态提示消息框效果 - Web前端
- 9在Mac/PC上远程调试iPhone/iPad上的网页 - Web前端
- 最近发表
-
- WordPress随机显示特色图片插件:Random Post Thumbnails
- KeePass实现Chrome浏览器自动填充密码方法一
- LNMP一键包nginx 301强制跳转到https教程
- KeePass实现Chrome浏览器自动填充密码方法二
- #建站# 免费的VPS管理软件Xshell8/Xftp8中文版下载
- 使用Xshell 8连接VPS教程_电脑登录vps的方法
- WordPress评论界面添加烟花????效果
- 不同浏览器书签同步方案:坚果云+Floccus_详细使用教程
- iOS端KeePassXC客户端APP:Strongbox Password Safe
- 给WordPress评论中的Gravatar头像图片添加ALT属性


