You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mahdi
0cb8d673d7
|
3 years ago | |
---|---|---|
.. | ||
index.d.ts | 3 years ago | |
index.js | 3 years ago | |
license | 3 years ago | |
package.json | 3 years ago | |
readme.md | 3 years ago |
readme.md
map-obj
Map object keys and values into a new object
Install
npm install map-obj
Usage
const mapObject = require('map-obj');
const newObject = mapObject({foo: 'bar'}, (key, value) => [value, key]);
//=> {bar: 'foo'}
const newObject = mapObject({FOO: true, bAr: {bAz: true}}, (key, value) => [key.toLowerCase(), value]);
//=> {foo: true, bar: {bAz: true}}
const newObject = mapObject({FOO: true, bAr: {bAz: true}}, (key, value) => [key.toLowerCase(), value], {deep: true});
//=> {foo: true, bar: {baz: true}}
const newObject = mapObject({one: 1, two: 2}, (key, value) => value === 1 ? [key, value] : mapObject.mapObjectSkip);
//=> {one: 1}
API
mapObject(source, mapper, options?)
source
Type: object
Source object to copy properties from.
mapper
Type: (sourceKey, sourceValue, source) => [targetKey, targetValue, mapperOptions?] | mapObject.mapObjectSkip
Mapping function.
mapperOptions
Type: object
shouldRecurse
Type: boolean
Default: true
Whether targetValue
should be recursed.
Requires deep: true
.
options
Type: object
deep
Type: boolean
Default: false
Recurse nested objects and objects in arrays.
target
Type: object
Default: {}
Target object to map properties on to.
mapObject.mapObjectSkip
Return this value from a mapper
function to exclude the key from the new object.
const mapObject = require('map-obj');
const object = {one: 1, two: 2}
const mapper = (key, value) => value === 1 ? [key, value] : mapObject.mapObjectSkip
const result = mapObject(object, mapper);
console.log(result);
//=> {one: 1}
Related
- filter-obj - Filter object keys and values into a new object
Get professional support for this package with a Tidelift subscription
Tidelift helps make open source sustainable for maintainers while giving companies
assurances about security, maintenance, and licensing for their dependencies.
Tidelift helps make open source sustainable for maintainers while giving companies
assurances about security, maintenance, and licensing for their dependencies.