我在具有对象数组的对象上有以下映射
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值?预先感谢!
答案 0 :(得分:0)
您可以重新映射数组中的对象:
var data = [{id:1},{id:2},{label:3}];
var res = data.map(x => ({ id: x.id || x.label}));
console.log(res);
答案 1 :(得分:0)
您可以在IIFE中重命名该值:
el.push((({ label, ...rest }) => ({ id: label, ...rest }))(shift.roleRate));
或者只需在以下位置复制该属性:
shift.roleRate.id = shift.roleRate.label;
el.push(shift.roleRate);