gpt4 book ai didi

javascript - 当通过 if 条件时退出 foreach

转载 作者:行者123 更新时间:2023-11-28 18:35:51 24 4
gpt4 key购买 nike

我的代码中有逻辑问题。

object.forEach(function(item) {
if (item.a === $scope.a) {
//doSomething
}
else {
//doOtherStuff
}
});

所以,基本上,我想运行该对象并比较 $scope 是否存在于对象内部。如果 $scope 存在,则在 forEach 上执行某些操作并退出,否则,执行其他操作并退出。最好的方法是什么?

我的逻辑问题是它在 forEach 内部运行,并且对于每个索引都在做一些事情。也许我必须使用另一种我还不知道的方法,你能帮助我吗?

最佳答案

改用 every :

Object.keys(object).every(function(item) {
if (some_exit_condition) {
return false; // don't call this callback again for next items
else {
// don't stop, keep going
return true;
}
});

如果object是一个类似数组的对象(可迭代),则不需要对其调用Object.keys()。这取决于您想要迭代的内容。使用Object.keys(),您可以迭代该对象拥有的属性,并在回调函数中编写object[item]来获取该属性的值。

方法some具有类似的行为,但您必须返回 true 来停止迭代,并返回 false 来继续。

every()some() 都有一个 bool 返回值,这也将它们与 forEach() 区分开来。通过该返回值,您可以知道是否存在显式“退出”。

关于javascript - 当通过 if 条件时退出 foreach,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37103926/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com