JavaScript遍历数组,附5个案例

article/2025/9/10 8:44:19

先给大家分享一些JavaScript的相关资料:

  •  认识JavaScript到初体验
  • JavaScript 注释以及输入输出语句
  • JavaScript变量的使用、语法扩展、命名规范
  • JavaScript数据类型简介以及简单的数据类型
  • JavaScript获取变量数据类型
  • JavaScript 运算符&算数运算符
  • JavaScript递增和递减运算符
  • JavaScript:比较运算符和逻辑运算符
  • JavaScript:赋值运算符以及运算符优先级
  • JavaScript 流程控制-实际案例学习if语句
  • JavaScript三元表达式&分支流程控制 switch
  • JavaScript的for循环学不明白看这篇
  • 案例方式学习JavaScript双重for循环

一、数组的索引

索引 (下标) :用来访问数组元素的序号(数组下标从 0 开始)。

var  arr = ['小白','小黑','大黄','瑞奇'];

数组可以通过索引来访问、设置、修改对应的数组元素,我们可以通过“数组名[索引]”的形式来获取数组中的元素。

这里的访问就是获取得到的意思:

// 定义数组
var arrStus = [1,2,3];
// 获取数组中的第2个元素
alert(arrStus[1]);    

课堂练习: 数组练习

定义一个数组,里面存放星期一、星期二…… 直到星期日(共7天),在控制台输出:星期日,请同学们自己动手完成。

二、遍历数组

问:数组中的每一项我们怎么取出来?

答:可以通过“数组名[索引号]”的方式一项项的取出来。

var arr = ['red','green', 'blue'];
console.log(arr[0]) // red
console.log(arr[1]) // green
console.log(arr[2]) // blue

问:怎么把数组里面的元素全部取出来?

规律:从代码中我们可以发现,从数组中取出每一个元素时,代码是重复的,有所不一样的是索引值在递增

答案就是 循环

遍历: 就是把数组中的每个元素从头到尾都访问一次(类似我们每天早上学生的点名)。

我们可以通过 for 循环索引遍历数组中的每一项

var arr = ['red','green', 'blue'];
for(var i = 0; i < arr.length; i++){console.log(arrStus[i]);
}

2.1 数组的长度

使用“数组名.length”可以访问数组元素的数量(数组长度)。

var arrStus = [1,2,3];
alert(arrStus.length);  // 3

注意:

此处数组的长度是数组元素的个数 ,不要和数组的索引号混淆。

当我们数组里面的元素个数发生了变化,这个 length 属性跟着一起变化。

课堂案例 1: 遍历数组

请将 [“关羽”,“张飞”,“马超”,“赵云”,“黄忠”,“刘备”,“姜维”]; 数组里的元素依次打印到控制台。

var arr = ["关羽","张飞","马超","赵云","黄忠","刘备","姜维"]; 
// 遍历  从第一个到最后一个
for(var i = 0; i < arr.length; i++ )  { console.log( arr[i] );
} 

课堂案例 2:数组求和及平均值

求数组 [2,6,1,7, 4] 里面所有元素的和以及平均值。

案例分析:

  • 声明一个求和变量 sum。
  • 遍历这个数组,把里面每个数组元素加到 sum 里面。
  • 用求和变量 sum 除以数组的长度就可以得到数组的平均值。
var arr = [2, 6, 1, 7, 4];
var sum = 0;
var average = 0;
for (var i = 0; i < arr.length; i++) {sum += arr[i];
}
average = sum / arr.length;
console.log('这组数的和是:' + sum);
console.log('这组数的平均值是:' + average);

课堂案例 3: 数组最大值

求数组[2,6,1,77,52,25,7]中的最大值。

案例分析:

  • 声明一个保存最大元素的变量 max。
  • 默认最大值可以取数组中的第一个元素。
  • 遍历这个数组,把里面每个数组元素和 max 相比较。
  • 如果这个数组元素大于max 就把这个数组元素存到 max 里面,否则继续下一轮比较。
  • 最后输出这个 max。
var arrNum = [2,6,1,77,52,25,7];
var maxNum = arrNum[0]; // 用来保存最大元素,默认最大值是数组中的第一个元素
// 从0 开始循环数组里的每个元素
for(var i = 0;i< arrNum.length; i++){// 如果数组里当前循环的元素大于 maxNum,则保存这个元素和下标if(arrNum[i] > maxNum){maxNum = arrNum[i]; // 保存数值到变量 maxNum}
}

课堂案例 4: 数组转换为字符串

要求:将数组 ['red', 'green', 'blue', 'pink'] 里面的元素转换为字符串

输出: 'redgreenbluepink'

案例分析:

  • 思路:就是把里面的元素相加就好了,但是注意保证是字符相加。
  • 需要一个新变量 str 用于存放转换完的字符串。
  • 遍历原来的数组,分别把里面数据取出来,加到字符串变量 str 里面。
var arr = ['red', 'green', 'blue', 'pink'];
var str = '';
for (var i = 0; i < arr.length; i++) {str += arr[i];
}
console.log(str);

课堂案例 5: 数组转换为分割字符串

要求:将数组 ['red', 'green', 'blue', 'pink'] 转换为字符串,并且用 | 或其他符号分割

输出: 'red|green|blue|pink'

案例分析:

  • 需要一个新变量用于存放转换完的字符串 str。
  • 遍历原来的数组,分别把里面数据取出来,加到字符串里面。
  • 同时在后面多加一个分隔符。
var arr = ['red', 'green', 'blue', 'pink'];
var str = '';
var separator = '|'
for (var i = 0; i < arr.length; i++) {str += arr[i] + separator;
}
console.log(str);


黑马前端专栏干货多多,关注再学,好方便~

2022年前端学习路线图:课程、源码、笔记,技术栈  另外此线路图实时更新!需要课后资料的友友们,可以直接告诉我。

 

 


http://chatgpt.dhexx.cn/article/34fXovmx.shtml

相关文章

1.9 JavaScript 遍历数组

遍历数组 数组的长度 使用 “数组名.length” 可以访问数组元素的数量&#xff08;数组长度&#xff09; a.length 动态监测数组元素的个数 案例 请将 [“关羽”, “张飞”, “赵云”,“小脆筒”], 将数组里的元素依次打印到控制台 代码实现 <!DOCTYPE html> <html&…

html怎么遍历数组,JavaScript如何遍历数组?遍历数组方法介绍

在往期文章中为大家介绍了 JavaScript 如何定义数组。那么这篇文章中 w3cschool 小编来为大家介绍下 JavaScript 如何遍历数组。 方法一&#xff1a;for 循环遍历数组 var arr[Tom,Jenny,Jan,Marry]; for(var i0;i console.log(arr[i]); } 实现效果&#xff1a; 方法二&#xf…

小程序 js 遍历数组

js 方式一&#xff1a; for (var index in res.data) { title : res.data[index].title } res.data&#xff1a;数组 index&#xff1a;下标 title&#xff1a;数组中的一个字段 方式二&#xff1a; for (var i 0; i < datas.length; i) { console.log(i); if( i > 1) b…

JS遍历数组的方法【详解】

法一&#xff1a;for循环 法二&#xff1a;forEach遍历&#xff08;可以同时取出数组中的值和值对应的下标&#xff09; 必须搭配函数使用&#xff0c;而且可以直接取出数组中的每个对象和对象对应的下标 let arr [{er: qwe},{er: asd}];arr.forEach((item,index)>{cons…

js遍历数组的方法

JS遍历数组的8种方法如下&#xff1a; 1.for循环 (改变原数组&#xff0c;无返回值) 2.forEach()&#xff08;改变原数组&#xff0c;无返回值&#xff09; 3.map() 4.filter() 5.reduce() 6.some() 7.every() 8.find() 1.for 循环&#xff1a;可以改变原数组。 2.f…

js数组遍历十种方法

1. some() 遍历数组&#xff0c;只要有一个以上的元素满足条件就返回 true&#xff0c;否则返回 false &#xff0c;退出循环 对数组中每个元素执行一次ok函数&#xff0c;知道某个元素返回true&#xff0c;则直接返回true。如果都返回false,则返回false 检查整个数组中是否…

JS遍历数组的十五种方法

一、循环遍历 for循环&#xff0c;也是最常见的。 可以使用临时变量&#xff0c;将长度缓存起来&#xff0c;避免重复获取数组长度&#xff0c;当数组较大时优化效果才会比较明显。 // arr 是要遍历的数组 // arr[i] 是遍历的数组的元素 // i 是数组的元素对应的下标(索引号)…

JS中循环遍历数组的几种常用方式总结

第一种&#xff1a;for循环&#xff0c;也是最常见的 最简单的一种&#xff0c;也是使用频率最高的一种&#xff0c;虽然性能不弱&#xff0c;但仍有优化空间 const arr [11, 22, 33, 44, 55, 66, 77, 88]; for (let i 0; i < arr.length; i) {console.log(arr[i]);}打印…

3D人脸识别技术,正在全面入侵我们的日常生活

最近“人脸识别技术”因丰巢智能柜“刷脸取件”被小学生用一张面部打印照片破解的bug事件刷屏引发热议,整个过程无需本人在场便被轻易破解实在令人震惊,虽然目前该功能已经下线,但刷脸背后技术是否安全、面部信息泄露等问题仍是大众最为关心的问题。 事实上,现在人们听到“…

3D人脸识别——点云转化为可训练的图片

1.场景介绍 3D人脸点云不容易直接训练&#xff0c;需要将其转化为二维图片。大部分论文是这样做的&#xff1a;首先求出每个点所在平面的法向量&#xff0c;发向量与水平面和竖直平面的夹角组成两个通道&#xff0c;深度图是一个通道。然后&#xff0c;将这三个通道归一到[0~25…

人脸识别

自20世纪下半叶&#xff0c;计算机视觉技术逐渐地发展壮大。同时&#xff0c;伴随着数字图像相关的软硬件技术在人们生活中的广泛使用&#xff0c;数字图像已经成为当代社会信息来源的重要构成因素&#xff0c;各种图像处理与分析的需求和应用也不断促使该技术的革新。计算机视…

人脸识别技术

2D人脸识别技术早在安防、监控、门禁、考勤中就已有应用&#xff0c;其硬件结构相当于一颗RGB摄像头&#xff0c;通过捕捉人脸图像&#xff0c;从图像中提取对应的特征&#xff0c;依据尺度特征不变的原理&#xff0c;和已经录入的图像库进行对比判定。目前基于神经网络的人脸识…

什么是人脸识别?

什么是人脸识别&#xff1f; 人脸识别是一种用于识别陌生人或从特定人的脸中认证特定人的身份的方法。它是计算机视觉的一个分支&#xff0c;但是人脸识别是专门的&#xff0c;并且在某些应用程序中带有社交功能&#xff0c;并且存在一些欺骗的漏洞。 人脸识别如何工作&#…

揭秘“2020年度AI生产力创新奖”:清微智能3D人脸识别模组

“2020年度AI生产力创新奖“作为2020年行业内的最后一个奖项&#xff0c;在年前的最后两周才正式公布。姗姗来迟的评选结果&#xff0c;也从一个侧面证明了该奖项评比的激烈程度。清微智能与百度、京东、浪潮等企业一起&#xff0c;共同斩获IOT与智慧城市领域的”AI生产力创新奖…

android 脸部识别之3D,这两款安卓手机也支持3D结构光人脸识别

1、oppo Find X-4999元(8128G) oppo Find X为滑屏(双轨潜望结构)设计&#xff0c;3D结构光模组隐藏在内部&#xff0c;当需要解锁时会自动探出&#xff0c;不用时又会自动收回。 OPPO Find X的O-Face 3D结构光可以在人面部投射15,000个识别点&#xff0c;以此来为用户的面部构建…

android 脸部识别之3D,Android Q新功能曝光了:原生支持3D人脸识别

原标题&#xff1a;Android Q新功能曝光了&#xff1a;原生支持3D人脸识别 【PConline资讯】如今不少机型已经支持3D人脸识别&#xff0c;像iPhoneX、iPhoneXR、iPhoneXSMax、华为Mate20Pro、OPPOFindX、小米8透明探索版等等。 值得注意的是&#xff0c;目前原生Android并没有提…

嵌入式3D人脸识别(笔记)

3D人脸识别在人脸识别中所占比例58%&#xff08;2020年&#xff09;&#xff0c;3D是趋势。 3D人脸误识率1/100万&#xff0c;2D人脸误识率1/1万。 应用人脸活体、高精度识别。 几种深度相机比较&#xff1a; 双目&#xff1a;运算量大&#xff0c;受光照影响&#xff08;过…

AI深度 | 3D人脸识别和双目结构光惯导

文/纽豪斯 发布/AI智道 一文看尽双目摄像、结构光、ToF和激光雷达技术&#xff1b;一文深入了解小觅智能、奥比中光、华捷艾米、的卢深视、Pico和镭神智能&#xff1b;AI赋能2大趋势、4大核心技术。 前言 纽豪斯刚刚完成《AI深度&#xff08;上&#xff09; | 3D人脸识别和结构…

3D人脸识别——人脸点云前处理

1. 获取点云与显示点云 博主做项目是用realsense系列获取深度信息的&#xff0c;获得对齐的RGB图和深度图。 获取数据的代码如下&#xff1a; ## License: Apache 2.0. See LICENSE file in root directory. ## Copyright(c) 2017 Intel Corporation. All Rights Reserved.###…

3d人脸识别算法opencv_10行代码实现人脸识别

什么是人脸识别 人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术。用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部识别的一系列相关技术,通常也叫做人像识别、面部识别。 目前的人脸识别技术已经非…