Вы можете использовать функцию forEach
и массив с целями
. Эта альтернатива приведет к изменению исходного массива.
let array = [{id: 0, text: "blue"},{id: 1, text: "green"}, {id: 2, text: "orange"}, {id: 3, text: "yellow"}],
target = [['text', 'label'], ['ele', 'stack']];
array.forEach(o => {
target.forEach(([src, dest]) => {
if (o[src]) {
Object.assign(o, {[dest]: o[src]});
delete o[src];
}
});
});
console.log(array);
.as-console-wrapper { max-height: 100% !important; top: 0; }