, поэтому я пытаюсь воспроизвести более простую версию функции 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);
ожидаемый результат - сделать строку идентичной исходной, но только до тех пор, пока обратный вызов не станет истинным, поэтому в примере это будетбыть, как только одно из чисел меньше 0.