网站首页 > java教程 正文
js forEach修改不了数组,如何遍历数组并修改当前数组
arr[].forEach(function(item,index,array){
})
forEach没有返回值,并且传入的回调函数,遍历的是数组的每一项,并不能直接修改原数组,如“item=10”这样是修改不了原数组的。不过可以通过数组的索引修改原数组。
var info=[1,2,3,4,5];
info.forEach((item,index,arr)=>{
arr[index]=10;
});
console.log(info);
输出:[10, 10, 10, 10, 10]
如果这个数组的每一项是对象,那么就可以直接通过item修改:
var info=[{age:1},{age:2},{age:3},{age:4},{age:5}];
info.forEach((item,index,arr)=>{
item.age=10;
//不过这样也可以的:arr[index].age=10;
});
console.log(info);
输出:[{age:10},{age:10},{age:10},{age:10},{age:10}];
不过我一般是使用map函数,map的回调函数中支持return返回值,可以将修改的item数组每一项return返回,最后将map函数的返回值直接赋值给原数组:
var info=[1,2,3,4,5];
info=info.map((item,index,arr)=>{
item=10;
return item;
});
console.log(info);
输出:[10, 10, 10, 10, 10]
原文链接:https://blog.csdn.net/qq_42740797/article/details/114121275
猜你喜欢
- 2024-11-21 教你如何从性能角度选择数组的遍历方式
- 2024-11-21 javaScript数组的遍历操作
- 2024-11-21 全新Java入门到架构师教程之Java15数组案例实现和Arrays
- 2024-11-21 第9天|Java入门有野,数组
- 2024-11-21 java数组例子
- 2024-11-21 Java小技巧:巧用函数方法实现二维数组遍历
- 2024-11-21 C++开发者都应该使用的十个C++11特性(上)
- 2024-11-21 数组实现队列和循环队列(Java)
- 2024-11-21 java 基础之循环动态接收数组和动态输出数组
- 2024-11-21 带你从零学大数据系列之Java篇---第五章:数组
你 发表评论:
欢迎- 最近发表
-
- 五,网络安全IDA Pro反汇编工具初识及逆向工程解密实战
- 「JAVA8」- Lambda 表达式(java lambda表达式原理)
- 深入探讨Java代码保护:虚拟机保护技术的新时代
- Nginx反向代理原理详解(图文全面总结)
- 逆向拆解日本IT,哪些Java技术栈薪资溢价高
- mybatis 逆向工程使用姿势不对,把表清空了,心里慌的一比
- Spring Boot集成ProGuard轻松实现Java 代码混淆, Java 应用固若金汤
- 从 Java 代码逆向工程生成 UML 类图和序列图
- 人与人相处:尊重是标配,靠谱是高配,厚道是顶配
- Windows系统安装日期如何修改(windows10怎么修改安装日期)
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)