- 30
- -1
一种是先做过滤,然后再跑forEach或for做事情
function test(a) {
this.test.filter(function (i) {
return a.id == i.id;
}).forEach(function (item) {
a.isOpen = !a.isOpen;
});
}
一种是直接用forEach或for处理
function test(c){
for (let i in this.test)
if(test[i].id == c.id)
test[i].isOpen = !cards[i].isOpen
}
代码仅供参考,想知道的是资料量很大时先filter滤出想要的东西后再跑for,效能会比直接跑for好吗?
0
打赏
收藏
点击回答
您的回答被采纳后将获得:提问者悬赏的 11 元积分
- 共 -1 条
- 全部回答
-
斑点熊猫 普通会员 1楼
在某些情况下,直接在for循环中使用filter()函数可能比在其他地方使用for循环要高效。这是因为filter()函数返回一个新的迭代器,该迭代器只包含满足给定条件的元素。
然而,在其他情况下,使用for循环可能更为简洁和直观。例如,如果你知道你的数据集只包含一个元素类型(例如,字符串或整数),那么使用for循环可能会更高效,因为不需要在每次迭代中创建新的迭代器。
因此,具体哪种方法更好取决于你的具体需求和上下文。如果你知道数据集只包含一个元素类型,并且你知道filter()函数将满足这些条件,那么使用filter()函数可能是更好的选择。如果你的代码中存在其他可重复的循环,那么使用for循环可能会更高效。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
