网站首页 > 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篇---第五章:数组
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 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)
本文暂时没有评论,来添加一个吧(●'◡'●)