forEach的坑

使用js里的forEach来遍历数组的时候需要注意的是:break,return语句不能使其中断,它还是会继续遍历完数组的每一个元素

错误代码:

function nameExit(name){
data.forEach(function(item){
    if(item.name === name)
        return true;
});
}
data = ['a','b','c'];
var flag = nameExit('a');
console.log(flag);

注释:运行代码后,可以发现,打印出来的并不是true,而是undefined,因为return语句并没有执行

转载于:https://www.cnblogs.com/maderlzp/p/7209979.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
list.forEach方法有一个常见的,就是在forEach的回调函数中,无法使用await关键字来等待异步操作的完成。这是因为forEach方法是通过委托来执行回调函数的,而委托无法使用await关键字。 在引用中的代码示例中,如果在itemList.ForEach的回调函数中使用了await关键字,会导致并发问题。为了解决这个问题,可以将forEach方法替换为foreach关键字,并使用异步方法进行处理。修改后的代码如下所示: public async Task Do() { var itemList=new List<X>(); foreach(var item in itemList) { await Add(item); } } 在这个示例中,我们使用了foreach循环来遍历itemList,确保了在每次迭代中都能够等待Add方法的异步操作完成。 此外,引用中的示例代码也展示了另一个forEach。在forEach的回调函数中,this指向的是当前迭代的元素,而不是外部的作用域。因此,在这个示例中,如果想要访问外部的this对象,需要使用箭头函数或者在forEach回调函数中缓存this对象。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [linq ForEach中遇到的](https://blog.csdn.net/kerojiang/article/details/124488586)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [forEach函数使用的时候遇到的](https://blog.csdn.net/qq_46617584/article/details/126229677)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值