Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
get-reverse-iterating-array
Advanced tools
A lightweight proxy function reversing an array’s default iteration direction
A function returning an array whose iteration direction is reversed without affecting the original array or affecting the iteration direction of any other arrays.
By default, the iteration protocols are defined to iterate on an iterable object’s elements according to their insertion order.
The function getReverseIteratingArray
returns a new Proxy
object with the array being its target. The array’s [Symbol.iterator]
property is trapped in order to define custom iteration behaviour. This has the advantage of not changing the implementation of Array.prototype[Symbol.iterator]
directly which would cause the iteration direction of all arrays to be reversed. Using a proxy also avoids unnecessarily copying an array for reverse iteration like Array.prototype.reverse()
would.
If you require to iterate over an array in both forwards and backwards direction, have a look at ReverseIterableArray
.
Links:
See also:
ReverseIterableArray
: reverse-iterable-arrayReverseIterableMap
: reverse-iterable-mapReverseIterableSet
: reverse-iterable-setnpm install get-reverse-iterating-array
import getReverseIteratingArray from 'get-reverse-iterating-array';
const array = getReverseIteratingArray([1, 2, 3]);
For some live usage examples, clone the repository and run the following:
npm install
npm run build
npm start
Then, open localhost:8080/examples in a browser.
In order to run the tests, clone the repository and run the following:
npm install
npm test
Create a reverse-iterating array by passing any array to getReverseIteratingArray
.
const reverseIteratingArray = getReverseIteratingArray([5, 4, 1, 2, 3]);
The returned object will behave like a regular built-in array with the exception of all cases involving the iteration protocols. The behaviour of the following concepts will be changed when used together with a reverse-iterating array:
for (const element of reverseIteratingArray) {
console.log(element)
}
//> 3
//> 2
//> 1
//> 4
//> 5
[...reverseIteratingArray];
//> [ 3, 2, 1, 4, 5 ]
Array.from(reverseIteratingArray);
//> [ 3, 2, 1, 4, 5 ]
const [a, b, c, d, e] = reverseIteratingArray
//> a = 3, b = 2, c = 1, d = 4, e = 5
FAQs
A lightweight proxy function reversing an array’s default iteration direction
The npm package get-reverse-iterating-array receives a total of 0 weekly downloads. As such, get-reverse-iterating-array popularity was classified as not popular.
We found that get-reverse-iterating-array demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.