Copy and rename specified keys for every element in a provided array.
var rekey = require( '@stdlib/array/base/rekey' );Copies and renames specified keys for every element in a provided array.
var x = [
{
'x': 1,
'y': 2
},
{
'x': 3,
'y': 4
}
];
var mapping = {
'x': 'a',
'y': 'b'
};
var out = rekey( x, mapping );
// returns [ { 'a': 1, 'b': 2 }, { 'a': 3, 'b': 4 } ]The function has the following parameters:
- arr: input array.
- mapping: object mapping existing keys to new key names.
- The function only copies and renames those keys which are present in a provided mapping object. Any keys which are not present in the provided mapping object, but are present in the original objects, are omitted during object creation.
- The function assumes that each object has the keys specified in a provided mapping object.
- The function performs shallow copies of key values.
var discreteUniform = require( '@stdlib/random/base/discrete-uniform' );
var filledBy = require( '@stdlib/array/base/filled-by' );
var rekey = require( '@stdlib/array/base/rekey' );
function clbk( idx ) {
return {
'x': idx,
'y': discreteUniform( 0, 10 )
};
}
var x = filledBy( 10, clbk );
var mapping = {
'x': 'a',
'y': 'b'
};
var out = rekey( x, mapping );
// returns [...]