chokro-loop
v1.0.2
Published
A **higher-order loop function** for JavaScript that behaves like a flexible `for` or `while` loop. This package allows you to define your own loop logic with **custom start values, test conditions, update rules, and body functions**.
Downloads
4
Readme
loop
A higher-order loop function for JavaScript that behaves like a flexible for or while loop. This package allows you to define your own loop logic with custom start values, test conditions, update rules, and body functions.
Table of Contents
Installation
Install via NPM:
npm install loopOr using Yarn:
yarn add loopUsage
Import the loop function:
const loop = require('loop');
// Or with ES Modules
import loop from 'loop';API
loop(value, test, update, body)
A higher-order function that simulates a customizable loop.
Parameters
value
Type:any
Description: The initial value to start the loop with.test
Type:(currentValue) => boolean
Description: A function that is called before each iteration. The loop continues only if it returnstrue.update
Type:(currentValue) => any
Description: A function that generates the next value for the loop after each iteration.body
Type:(currentValue) => void
Description: A function called on each iteration, receiving the current loop value. This is where you put the code to execute.
Return Value
The function does not return a value. It executes the body function for each iteration until the test function returns false.
Examples
Basic Countdown
const loop = require('loop');
loop(
3, // starting value
(i) => i > 0, // test function
(i) => --i, // update function
(i) => console.log(i) // body function
);
// Output:
// 3
// 2
// 1Count Up
loop(
0,
(i) => i < 5,
(i) => i + 1,
(i) => console.log(`Current value: ${i}`)
);
// Output:
// Current value: 0
// Current value: 1
// Current value: 2
// Current value: 3
// Current value: 4Custom Step
loop(
10,
(i) => i > 0,
(i) => i - 2,
(i) => console.log(i)
);
// Output:
// 10
// 8
// 6
// 4
// 2Advanced Usage
- You can pass any type as
value(number, object, array, etc.) testandupdatecan contain complex logic, enabling dynamic loops.- This function can replace traditional
fororwhileloops in functional programming styles.
