forEach在项目中的使用
forEach 会改变原始数组 被forEach循环的数组不能够为空
forEach会改变原始数组 value是内容 index是索引 array是你写的数组。
foeEach内部是异步的哈
功能描述: eachArr给数组的每一项 添加一个新的key值
为什么在项目中会使用foeach.因为forEach会改变原始数组。
我们在一些时候,就需要去使用原始数组。
比如:后端在给我们的每一项中只有3个字段。我们需要再添加一个字段去控制其他的。此时我们就可以去使用foreach。
eachArr: [
{ name: "lj", age: 20 },
{ name: "lh", age: 23 },
{ name: "yj", age: 21 },
]
giveEach() {
if (this.eachArr) {
this.eachArr.forEach((v, i, arr) => {
//添加一个新的key
this.eachArr[i]['url'] = "http";
})
console.log('123', this.eachArr)
}
},

forEach没有返回值
let arr=[
{name:'张三',age:13},
{name:'张三',age:13},
{name:'张三',age:13}
]
let newRrr=arr.forEach((item,index,arr)=>{
console.log( "每一项",item)
console.log( "索引",index)
console.log( "被循环的数组",arr)
return index
})
//因为forEach是没有返回值的,所以该值是 undefined
console.log("newRrr",newRrr );
不要在forEach中去执行异步任务
function delay(item){
return new Promise((resolve)=>{
setTimeout(()=>{
resolve(item)
},2000)
})
}
function fn(arr){
arr.forEach(async element => {
console.log( await delay(element) );
});
console.log('打印完毕' )
}
fn([1,2,3,4])
我们本来希望的是:
每个2s后,依次打印出1,2,3,4 然后最打印出【打印完毕】
但是实际却是:
先打印出==》打印完毕==》1,2,3,4一起被打印出来==》并没有每隔2s
怎么解决了,使用for of就ok了
function delay(item){
return new Promise((resolve)=>{
setTimeout(()=>{
resolve(item)
},2000)
})
}
async function fn(arr){
for (const iterator of arr) {
console.log( await delay(iterator) );
}
console.log('打印完毕' )
}
forEach 中不支持 break 和 continue
null,undefined使用foeEach会报错,[]空数组不会.
forEach在项目中的使用的更多相关文章
- CJCMS系列---说说项目中的缓存实现(1)
缓存者,临时文件交换区也.主要就是方便查找,提高查找效率(效率在于读内存速度比读硬盘快). 大多数的项目的缓存都是通过设定过期时间来做的,可是我对于这样的替换策略不以为然,而且会导致混乱. 有人说: ...
- web报表工具Stimulsoft Reports.Web在mvc项目中使用
Stimulsoft Reports.Web,是一款可以直接在Web中编辑报表的报表工具 web项目技术框架mvc4+easyui+knockoutjs 1.在项目中添加引用 Stimulsoft.B ...
- unity3D项目中如何避免硬代码(C#)
平时做项目,代码中是不允许出现硬代码的,一般我们是怎么处理的呢? 那么硬代码又是什么呢? 我们俗称的硬代码:eg: label.text = "欢迎来到梦幻岛"; 这样我们俗 ...
- AutoMapper之ABP项目中的使用介绍
最近在研究ABP项目,昨天写了Castle Windsor常用介绍以及其在ABP项目的应用介绍 欢迎各位拍砖,有关ABP的介绍请看阳光铭睿 博客 AutoMapper只要用来数据转换,在园里已经有很多 ...
- NPOI导入导出EXCEL通用类,供参考,可直接使用在WinForm项目中
以下是NPOI导入导出EXCEL通用类,是在别人的代码上进行优化的,兼容xls与xlsx文件格式,供参考,可直接使用在WinForm项目中,由于XSSFWorkbook类型的Write方法限制,Wri ...
- C#~异步编程在项目中的使用
一些闲话 对异步编程没有了解的同学可以看我的这篇文章<C#~异步编程>,今天主要说一下,在项目中怎么就用到了异步编程!在进行WEB开发时,异步这块我们用的并不多,但当你的项目做到一定规模时 ...
- MongoDB在实际项目中的使用
MongoDB简介 MongoDB是近些年来流行起来的NoSql的代表,和传统数据库最大的区别是支持文档型数据库. 当然,现在的一些数据库通过自定义复合类型,可变长数组等手段也可以模拟文档型数据库. ...
- C#项目中常用到的设计模式
1. 引言 一个项目的通常都是从Demo开始,不断为项目添加新的功能以及重构,也许刚开始的时候代码显得非常凌乱,毫无设计可言.但是随着项目的迭代,往往需要将很多相同功能的代码抽取出来,这也是设计模式的 ...
- 项目中的web api知识总结
最近在做公司的项目,自己负责webapi的框架的搭建与开发,最近很忙,一直没时间对工作中遇到的知识点缺少个总结,现总结一下,对自己是个提升,如果个人的小点点小总结能对博友有帮助那也是善莫大焉. (1) ...
- 采用EntLib5.0(Unity+Interception+Caching)实现项目中可用的Caching机制
看了园子里很多介绍Caching的文章,多数都只介绍基本机制,对于Cache更新和依赖部分,更是只简单的实现ICacheItemRefreshAction接口,这在实际项目中是远远不够的.实际项目中, ...
随机推荐
- 再谈BOM和DOM(2):DOM节点层次/属性/选择器/节点关系/操作详解
DOM模型将整个文档(XML文档和HTML文档)看成一个树形结构,并用document对象表示该文档. 根据W3C DOM规范,DOM是HTML与XML的应用编程接口(API),DOM将整个页面映射为 ...
- gitblit 不使用远程头像的方法
gitblit 安装非常简单,使用也很方便,由于我初次使用,遇到一个小问题,头像加载不出来,很影响系统的速度,网上找了很久,终于找到了解决办法. 1.仓库分组:创建仓库设定名称时录入:groupNam ...
- Intellij IDEA 显示 access.log 日志
先配置 SpringBoot 记录 access.log 日志,先让accesslog 显示出来
- Error creating bean with name 'eurekaAutoServiceRegistration': Singleton bean creation not allowed while singletons
新建一个配置类 package com.cloud.client.user.feign; import org.springframework.beans.BeansException; import ...
- Docker Jenkins 安装配置
Docker Jenkins 安装配置 Windows 2016 安装 Jenkins Jenkins + SVN Jenkins + SVN/Git + Maven + Docker + 阿里云镜像 ...
- Java Socket Demo
服务端: package com.sux.demo; import java.io.*; import java.net.ServerSocket; import java.net.Socket; i ...
- Invalid options object. Sass Loader has been initialized using an options obj
https://blog.csdn.net/liwan09/article/details/106981239
- html5 video视频,本地环境好的,线上环境,不能播放
本地环境ok,发布到线上不能播放.之前看这个视频,把video放在public文件夹下的. 后来经过排查,video放public文件夹下,导致的.应该放assets里. 后来,和同事讨论,线上服务器 ...
- C#约瑟夫环问题算法
/// <summary> /// 约瑟夫环问题算法 /// </summary> /// <param name="total">总人数< ...
- asp.net 程序员常用工具
1 写作工具: Typora 2. 远程工具 ToDesk 3. 思维整理工具 XimindZen 4. 数据库客户端工具 Navicat Premium 15 5. 录音工具 楼月免费MP3录音软 ...