gpt4 book ai didi

javascript - 如何使用回调函数执行 while 循环

转载 作者:行者123 更新时间:2023-12-01 00:37:09 26 4
gpt4 key购买 nike

所以我尝试重现 lodash 函数 takeWhile 的更简单版本。为此,我需要使用回调函数,并且我假设我将不得不使用 while 循环,但我不确定如何在函数内部实现。

这是我认为最有意义的,但它似乎不起作用。

const data1 = [1, 2, 5, 7, 2, -1, 2, 4, 5];

const takeUntil = function(array, callback) {
let result = [];
for (let i = 0; i < array.length; i++) {
while (callback(array[i]) === false) {
result.push(array[i]);
}
}
return result;
}

const testOne = takeUntil(data1, x => x < 0);
console.log(testOne);

预期的结果是使一个字符串与原始字符串相同,但只有在回调计算结果为 true 之前,所以在示例中,只要其中一个数字小于 0,它就会出现。

最佳答案

你的中断条件需要在 for 上,而不是在 while 内。

const data1 = [1, 2, 5, 7, 2, -1, 2, 4, 5];

const takeUntil = function(array, callback) {
let result = [];
for (let i = 0; i < array.length && callback(array[i]) === false; i++) {
result.push(array[i]);
}
return result;
}

const testOne = takeUntil(data1, x => x < 0);
console.log(testOne);

关于javascript - 如何使用回调函数执行 while 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58033404/

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