首页 > 其他分享 >放弃使用forEach的理由

放弃使用forEach的理由

时间:2023-06-25 10:57:40浏览次数:31  
标签:理由 arr 异步 ... index xxx forEach 放弃

js中Array的forEach有如下缺点

1. 不支持异步,内部用await无效
2. 无法中断,不支持break,continue
3. 跳过已删除和未初始化的项
4. 不能修改数组项

替代方案

1. map()、filter()、reduce()支持异步,for循环和for of都支持异步

const promises = arr.map(async (num) => {
    const result = await asyncFunction(num);
    return result;
});
  
Promise.all(promises).then((results) => {
    console.log(results);
});

2. for循环和for...of都支持中断

for (let item of data) {
    if (xxx) break;
}

3. for循环和for...of都不会跳过已删除和未初始化的项

4. for循环和for...of修改数组项,或者 forEach中用数组修改

//利用forEach的index,用数组直接修改
arr.forEach((ele, index, arr) => {
    if (xxx) {
        arr[index] = xxx
    }
})

 

标签:理由,arr,异步,...,index,xxx,forEach,放弃
From: https://www.cnblogs.com/mengff/p/17502381.html

相关文章

  • 使用近10年,说说向大家推荐Linux系统的理由
    使用近10年,说说向大家推荐Linux系统的理由使用linux已经快十年了,一直想推荐身边的使用linux,但是一直没有分享。但是现在我想分享推荐了。下面我们一起聊聊为什么我向大家推荐linux。为什么现在我想推荐了呢?是因为我自认为相对于同龄人来说,我使用桌面版的时间算是挺长的了,而且我也......
  • 使用近10年,说说向大家推荐Linux系统的理由
    使用linux已经快十年了,一直想推荐身边的使用linux,但是一直没有分享。但是现在我想分享推荐了。下面我们一起聊聊为什么我向大家推荐linux。为什么现在我想推荐了呢?是因为我自认为相对于同龄人来说,我使用桌面版的时间算是挺长的了,而且我也想纠正一部分人不看好linux桌面版的这么......
  • 使用近10年,说说向大家推荐Linux系统的理由
    使用linux已经快十年了,一直想推荐身边的使用linux,但是一直没有分享。但是现在我想分享推荐了。下面我们一起聊聊为什么我向大家推荐linux。为什么现在我想推荐了呢?是因为我自认为相对于同龄人来说,我使用桌面版的时间算是挺长的了,而且我也想纠正一部分人不看好linux桌面版的这么......
  • 使用近10年,说说向大家推荐Linux系统的理由
    使用linux已经快十年了,一直想推荐身边的使用linux,但是一直没有分享。但是现在我想分享推荐了。下面我们一起聊聊为什么我向大家推荐linux。为什么现在我想推荐了呢?是因为我自认为相对于同龄人来说,我使用桌面版的时间算是挺长的了,而且我也想纠正一部分人不看好linux桌面版的这么......
  • git 修改、覆盖文件没有 add commit 放弃取消
    在git仓库中,修改了文件或 覆盖了文件,发现可能分支错了或其他原因,想撤销修改gitcheckout要撤销的文件当前仓库里文件: 创建一个和仓库相同文件名的文件 模拟一个相同文件名文件,覆盖仓库里的1.txt 文件被覆盖了: 内容也变了: 现在撤销覆盖,暂存区......
  • 生物押题,从入门到放弃
    今天是国际生物多样性日,祝中考顺利顺便押题:26.(6分)2023年国际生物多样性日全球主场活动在昆明举行。今年国际生物多样性日的主题是“从协议到协力:复元生物多样性”。下表显示了昆明部分生物类群的初步调查结果。(1)上表直接体现了生物多样性的___________多样性,其根本是______......
  • forEach、for in、for of三者区别
    1、forEach更多的用来遍历数组vararr=[23,9,78,6,45]arr.forEach((item)=>{//console.log(item)item='cc'})2、forin一般常用来遍历对象或json【循环出的是key】//varobj={a:1,b:2,c:3}varobj=[5,8,2]for(varkey......
  • 为什么很多人自学Python都放弃了?
     有些人学Python并不是因为对编程有浓厚的兴趣,或者没有经验尝试认为入门容易。因此,当他们开始学习Python时,可能会遇到一些困难或感到挫败,导致他们放弃。总的来说,python并不是你想想的那样简单。以下是可能导致放弃的原因:缺乏计算机科学和编程基础:学习Python需要具备一定的计......
  • 为什么很多人自学Python都放弃了?
    有些人学Python并不是因为对编程有浓厚的兴趣,或者没有经验尝试认为入门容易。因此,当他们开始学习Python时,可能会遇到一些困难或感到挫败,导致他们放弃。总的来说,python并不是你想想的那样简单。以下是可能导致放弃的原因:缺乏计算机科学和编程基础:学习Python需要具备一定的计算机科......
  • map.forEach使用
    //创建一个MapMap<String,Object>map=newHashMap<>();infoMap.put("a","a");infoMap.put("b","b");infoMap.put("c","c");//传统的Map迭代方式for(Map.Entry<String,Object>entry:ma......