Package Exports
- foreach-prop
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (foreach-prop) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
foreach-prop
Array-like methods for objects
Install
npm
npm install foreach-prop
jsDelivr
<script src="https://cdn.jsdelivr.net/npm/foreach-prop/dist/each-prop.umd.js"></script>
more options on jsDelivr website...
UNPKG
<script src="https://unpkg.com/foreach-prop"></script>
Methods
forEach
similar to Array.prototype.forEach
. It executes the provided callback function for every key-value-pair in the object. Once iniciated there is no way to stop the execution of this function, if you intend to stop the iteration at some point have a look at findKey
method.
forEach(object, function callback(value, key, ...extra) => void, ...extra): void;
The callback function inherits the this
value from the function call, so if you want a specific this
value in your callback function, you can call it using the call
method of the Function.prototype
...
forEach.call(thisArg, object, callback, ...extra);
map
similar to Array.prototype.map
. It executes the provided callback function for every key-value-pair in the object and returns a new object.
map(object, function callback(value, key, ...extra) => any, ...extra): object;
The callback function inherits the this
value from the function call, so if you want a specific this
value in your callback function, you can call it using the call
method of the Function.prototype
...
map.call(thisArg, object, callback, ...extra);
keyOf
similar to Array.prototype.indexOf
. It returns the key of the first value that equals the provided one.
keyOf(object, value): string;
lastKeyOf
similar to Array.prototype.lastIndexOf
. It returns the key of the last value that equals the provided one.
lastKeyOf(object, value): string;
findKey
similar to Array.prototype.findIndex
. It executes the provided callback function for every key-value-pair in the object and returns the key once the provided callback function return a truthy value. It returns null
if nothing found.
findKey(object, function callback(value, key, ...extra) => any, ...extra): string;
The callback function inherits the this
value from the function call, so if you want a specific this
value in your callback function, you can call it using the call
method of the Function.prototype
...
findKey.call(thisArg, object, callback, ...extra);
find
similar to Array.prototype.find
. It executes the provided callback function for every key-value-pair in the object and returns the value once the provided callback function return a truthy value. It returns undefined
if nothing found.
find(object, function callback(value, key, ...extra) => any, ...extra): any;
Note that the returned value may be undefined
even if the condition is met and the value is undefined
.
const something; // something is undefined
const value = find({ something }, (val, key) => (key === "something"));
console.log(value); // it logs undefined because something is undefined
The callback function inherits the this
value from the function call, so if you want a specific this
value in your callback function, you can call it using the call
method of the Function.prototype
...
find.call(thisArg, object, callback, ...extra);
filter
similar to Array.prototype.filter
. It executes the provided callback function for every key-value-pair in the object and returns a new object containing the key-value-pairs corresponding to those where the provided callback function returned a truthy value.
filter(object, function callback(value, key, ...extra) => any, ...extra): object;
The callback function inherits the this
value from the function call, so if you want a specific this
value in your callback function, you can call it using the call
method of the Function.prototype
...
filter.call(thisArg, object, callback, ...extra);
reduce
similar to Array.prototype.reduce
but with a major difference: if no initial value provided it defaults to undefined
.
reduce(object, function callback(current, value, key, ...extra) => any, initial, ...extra): any;
The callback function inherits the this
value from the function call, so if you want a specific this
value in your callback function, you can call it using the call
method of the Function.prototype
...
reduce.call(thisArg, object, callback, initial, ...extra);