cuốn sách gpt4 ai đã làm

javascript - 打破数组循环函数(map、forEach 等)的循环

In lại Tác giả: Walker 123 更新时间:2023-11-28 12:15:30 28 4
mua khóa gpt4 Nike

如何从数组上的隐式循环中中断(类似于 break 语句)?

Array.prototype.map、Array.prototype.forEach 等函数意味着对数组元素的循环。我想有条件地尽早打破这个循环。

这个人为的例子:

const colours = ["red", "orange", "yellow", "green", "blue", "violet"];

colours.map(item => {
if (item.startsWith("y")) {
console.log("The yessiest colour!");
phá vỡ;
}
});

导致语法错误:未标记的中断必须位于循环或开关内.

如何像 break 语句那样中断循环?

câu trả lời hay nhất

您无法使用常规方式来完成此操作。您可以通过记住循环是否“中断”来模拟 break 行为。该解决方案的不足之处在于循环实际上仍在继续(尽管跳过了迭代逻辑)。

let isBroken = false;

colours.map(item => {
if (isBroken) {
trở lại;
}
if (item.startsWith("y")) {
console.log("The yessiest colour!");
isBroken = true;
trở lại;
}
});

您的示例的最佳解决方案是使用简单的 循环。

for (colour of colours) {
if (colour.startsWith("y")) {
console.log("The yessiest colour!");
phá vỡ;
}
}

您还可以使用一种肮脏的方式来实际停止 bản đồ 循环。

colours.map((item, index, array) => {
if (item.startsWith("y")) {
console.log("The yessiest colour!");
array.splice(0, index);
}
});
// The colours array will be modified after this loop

关于javascript - 打破数组循环函数(map、forEach 等)的循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50558227/

28 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress