So Instance I have the following function:
function merge(arr, key) {
return arr.reduce((r, o) => {
if (r[o.key]) {
r[o.key].real += o.real;
} else {
r[o.key] = { key: o.key, real: o.real };
}
return r;
}, {});
}
And I want to use it 10 times, but every time the { key: o.key, real: o.real }
will be different for instance { key: o.key, valueX: o.valueX }
etc.. how can I generate this object as function parameter? so If I would run
merge(arr, key, ['key, real']) // object assign will happen to key and real
I am a little confused there
Case 1:
var arrayOne = [{ someKey: '22', value: 345 }, { someKey: '22', value: 543 }]
function merge(arr, key) {
return arr.reduce((r, o) => {
if (r[o.key]) {
r[o.key].value += o.value;
} else {
r[o.key] = { key: o.someKey, value: o.value };
}
return r;
}, {});
}
console.log(merge(arrayOne, 'someKey'))
Case 2:
var arrayTwo = [{ someKeyY: '22', valueZ: 345 }, { someKeyY: '22', valueZ: 543 }]
function merge(arr, key) {
return arr.reduce((r, o) => {
if (r[o.key]) {
r[o.key].valueZ += o.valueZ;
} else {
r[o.key] = { key: o.someKeyY, valueZ: o.valueZ };
}
return r;
}, {});
}
console.log(merge(arrayTwo, 'someKeyY'))
I want universal function instead of writing the same function over and over and changing only the assignment object...