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
⚠️ some javascript implementations don't respect the object key order.
Install
npm i foreach-prop
CDN
jsDelivr
<script src="https://cdn.jsdelivr.net/npm/foreach-prop/dist/each-prop.umd.js"></script>
for production
<script src="https://cdn.jsdelivr.net/npm/foreach-prop/dist/each-prop.umd.min.js"></script>
more options on jsDelivr website...
unpkg
<script src="https://unpkg.com/foreach-prop/dist/each-prop.umd.js"></script>
Usage
import { map } from "foreach-prop";
const object = {
key1: "str",
key2: 1,
};
const result = map(object, (value, key, extra1) => {
return key + extra1;
}, " $$");
console.log(result);
{
key1: "key1 $$",
key2: "key2 $$",
}
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;
Any extra
arguments will be passed to the callback function.
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;
Any extra
arguments will be passed to the callback function.
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, or null
if not found.
keyOf(object, value): string | null;
lastKeyOf
similar to Array.prototype.lastIndexOf
. It returns the key of the last value that equals the provided one, or null
if not found.
lastKeyOf(object, value): string | null;
includes
similar to Array.prototype.includes
. It returns whether or not a value is present in an object.
includes(object, value): boolean;
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 | null;
Any extra
arguments will be passed to the callback function.
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
.
example
const something; // something is undefined
const value = find({ something }, (val, key) => (key === "something"));
console.log(value); // it logs undefined because something is undefined
Any extra
arguments will be passed to the callback function.
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;
Any extra
arguments will be passed to the callback function.
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;
Any extra
arguments will be passed to the callback function.
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);
some
similar to Array.prototype.some
. It returns whether at least one of the key-value-pairs satisfy the provided callback function.
some(object, function callback(value, key, ...extra) => any, ...extra): boolean;
Any extra
arguments will be passed to the callback function.
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
.
some.call(thisrArg, object, callback, ...extra): boolean;
every
similar to Array.prototype.every
. It returns whether all key-value-pairs satisfy the provided callback function.
every(object, function callback(value, key, ...extra) => any, ...extra): boolean;
Any extra
arguments will be passed to the callback function.
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
.
every.call(thisrArg, object, callback, ...extra): boolean;
License
MIT © Manuel Fernández