Изменить значение ключа объекта - PullRequest
0 голосов
/ 21 марта 2019

У меня есть эта следующая карта объекта с массивом объектов

Object.values(props.roleRateOptions).map(el => {
  el.push(shift.roleRate);
  return el;
})

Она вернется в массив объектов, подобных этому

[ {id:1},{id:2},{label:3} ]

Проблема в том, когда я push(shift.roleRate) у него есть значение с именем label вместо id, как я могу изменить его на id?Или любой обходной путь, может быть, я мог бы присвоить новое значение id, если я не могу изменить это?Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 21 марта 2019

Вы можете переименовать это значение в IIFE:

 el.push((({ label, ...rest }) => ({ id: label, ...rest }))(shift.roleRate));

Или просто скопируйте это свойство раньше:

 shift.roleRate.id = shift.roleRate.label;
 el.push(shift.roleRate);
0 голосов
/ 21 марта 2019

Вы можете переназначить объекты в массиве:

var data = [{id:1},{id:2},{label:3}];

var res = data.map(x => ({ id: x.id || x.label}));

console.log(res);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...