当前位置:网站首页>js数组遍历常用方法 0802二
js数组遍历常用方法 0802二
2022-08-06 17:46:00 【cx&lavender】
介绍:访问,获取数组所有元素或指定某项元素,并对数组元素进行一些操作
方法一:for循环
// for循环 最常见
let arr = [1, 2, 3, 4, 5];
for (let i = 0; i < arr.length; i++) {
arr[i] = arr[i] + 1; // 直接通过索引修改原数组的值
}
console.log('for循环', arr); //for循环 [2,3,4,5,6]
let list = [{ sex: '男' }, { sex: '女' }, { sex: '男' }];
for (let i = 0; i < list.length; i++) {
list[i].sex = '女';
}
console.log('for循环', list); //for循环 [{sex: '女'}, {sex: '女'}, {sex: '女'}]方法二:forEach
介绍:调用数组的每个元素,没有返回值,不会改变原数组
语法:
arr.forEach((item,index,arr)=>{
}
)说明:
item:当前数组元素
index:数组元素当前项
arr:原数组
特点:
1、没有返回值
2、不会改变原数组
3、不会对空数组进行检测
示例:将数组元素乘2
// forEach循环
let arr2 = [1, 2, 3, 4, 5];
let arrT = [];
arr2.forEach(item => {
item = item * 2;
arrT.push(item);
});
console.log('foEach', arr2, arrT);
// 1.不会改变原数组,所以arr2还是[1,2,3,4,5]
// 2.没有返回值,如果对数组元素进行了处理需要额外定义一个空数组,然后将处理后的数组元素添加到新建的空数组里面
// 3.写法简洁,注意和map的区别方法三:map
介绍:返回一个新数组,新数组元素是原数组元素经过函数调用处理后的值,并没有改变原数组
语法:
let newArr=oldArr.map((item,index,oldArr)=>{执行语句})说明:
item:当前数组元素
index:数组元素当前项
oldArr:原数组
特点:
1、有返回值
2、原数组不会改变
3、不会对空数组进行检测
示例:数组元素扩大3倍
// map循环
let arr3 = [1, 2, 3, 4, 5];
let newArr3 = arr3.map(item => {
// 有返回值
return item * 3;
});
console.log('map', arr3); //map [1, 2, 3, 4, 5] 原数组不变
console.log('map', newArr3); //map [3, 6, 9, 12, 15] 返回一个新数组方法四:filter()
介绍:过滤筛选数组元素,返回满足条件的元素,过滤掉不满足的元素
语法:
let newArr4=arr4.filter((item,index,arr4)=>{return 执行语句})
说明:
item:当前数组元素
index:数组元素当前项
arr4:原数组
特点:
1、有返回值
2、不会改变原数组
3、不会对空数组进行检测
示例:筛选出大于5的元素
// filter过滤
let arr4 = [1, 2, 4, 5, 67, 8];
let newArr4 = arr4.filter(item => {
return item > 5;
});
console.log('filter', arr4); // filter [1, 2, 4, 5, 67, 8] 原数组不变
console.log('filter', newArr4);//filter [67, 8] 返回新数组方法五:find()方法
介绍:返回满足条件的第一个元素值,如果没有,返回undefined
语法:
let newArr=arr.find((item,index,arr)=>{return 执行语句})说明:
item:当前元素值
index:当前元素索引
arr:原数组
特点:
1、有返回值
2、不会改变原数组
3、对于空数组,函数是不会执行的
// find()
let arr5 = [1, 2, 3, 4, 5];
let newArr5 = arr5.find(item => {
return item > 2;
});
let newArr6 = arr5.find(item => {
return item > 6;
});
console.log('find', arr5); // find (5) [1, 2, 3, 4, 5] 原数组保持不变
console.log('find', newArr5); // find 3 返回满足条件的第一个数组元素
console.log('find', newArr6); // find undefined 没有符合条件的元素返回undefined方法六:every()
介绍:所有元素满足判断条件则返回true,否则为false
语法:
let newArr=arr.every((item,index,arr)=>{return 执行语句})示例:
// 将所有元素进行判断, 返回一个布尔值, 原数组不变
// 如果所有元素都满足判断条件,则返回true,否则为false。
let arr = [1, 2, 3, 4];
let newArr1 = arr.every(item => {
return item > 2;
});
let newArr2 = arr.every(item => {
return item < 5;
});
console.log(arr); // [1, 2, 3, 4] 原数组保持不变
console.log(newArr1); // false
console.log(newArr2); // true
// 注意: every() 不会对空数组进行检测。
// 注意: every() 不会改变原始数组
方法七:some()
介绍:只要有一项满足判断条件,返回true,所有元素都不满足判断条件返回false
示例:
// 将所有元素进行判断, 返回一个布尔值, 原数组不变
// 如果存在元素满足判断条件,则返回true,若所有元素都不满足判断条件,则返回false。
// (判断条件注意和every方法区分)
let arr = [1, 2, 3, 4];
let newArr1 = arr.some(item => {
return item > 2;
});
let newArr2 = arr.some(item => {
return item > 5;
});
console.log(arr); // [1, 2, 3, 4] 原数组保持不变
console.log(newArr1); // true
console.log(newArr2); // false
边栏推荐
- 论文阅读笔记(五)——利用增强掩模R-CNN实例分割方法从图像中提取个体牛的轮廓
- 王学岗ffmpeg编译
- mosquitto使用的基本流程以及一些遇见的问题
- 【无标题】
- 在项目中,为什么有 全英文大写的 变量?
- 从 VLAN 到 IPVLAN: 聊聊虚拟网络设备及其在云原生中的应用
- 论文阅读笔记(二)——Mask R-CNN
- Remember to configure the expiration time of @Cacheable (Redis specifies the expiration time of certain Cache Keys)
- 赞!图像几何三维重建代码实战教程来啦!深度计算+点云处理+网格重建优化+纹理贴图!
- 论文阅读笔记(四)——实例分割与掩模R-CNN应用于多摄像机设置中松散的奶牛
猜你喜欢

基于 OPLG 从 0 到 1 构建统一可观测平台实践

IDEA03:数据库CDC、Kafka和连接器Debezium配置

为什么企业不愿意升级ERP系统

面试20场,我总结了面试问题及解答!激光+IMU融合定位方向

What does the 0x0000001a blue screen code mean? How to solve the 0x0000001a blue screen code

win7设置每天自动关机 自动关机怎么设置win7

win7蓝牙怎么开启 电脑蓝牙在哪里打开win7

win7 suffix name is hidden how to open win7 file how to display suffix name

How to upgrade win7 to win10 system version win7 upgrade win10 tutorial

Interview Cheats | Common Interview Questions for Interface Tests
随机推荐
FP6601AP5 CPC-16L Type-A HVDCP控制器与插入/输出自动检测
mysql存储过程实现 定时删除指定表中指定时间点的数据
php ini设置session过期时间
数据化管理洞悉零售及电子商务运营——数据化管理介绍
王学岗——钉钉视频会议实战,从零手写音视频会议项目
How to show hidden folders in win7 how to show hidden files and folders in win7
`英语` 2022/8/3
【深度学习】【评价指标】多标签分类器的评价指标
win7彻底重置清除所有软件 win7怎么重置系统
C# 将文件转换为 Stream
解决——》Mysql导出excel时,数值型变成科学计数法
王学岗——————H265实现低延时投屏,从零实现高清无损投屏
ECCV 2022 | 清华&腾讯AI Lab提出REALY: 重新思考3D人脸重建的评估方法
C# 将 Stream 保存到文件的方法
Redis 基础
From VLAN to IPVLAN: Talking about virtual network devices and their cloud-native applications
`Mathematics` Fundamental Theorem of Calculus
IDEA04:动态加载配置文件
Principle of USB Communication
USB通讯原理