这段代码按预期工作;但是,对于任何类型的输入,它都不是scalabe:
const input = [{optionA: {a: 1}, optionB: {b: 1}, optionC: {c: 1}];
input.map(({optionA, optionB, optionC}) => {
return Object.assign({}, optionA, optionB, optionC);
});
问题:如何重构映射的参数和对象。assign的参数不使用解构,而是使用javascript的扩展语法,以确保在输入键的名称和长度未知时输出?
如何满足这些测试用例?
const input2 = [{optionZ: {z: 1}, optionY: {y: 1}, optionX: {x: 1}];
const input3 = [{optionA: {a: 1}, optionB: {b: 1}, optionC: {c: 1},{optionZ: {z: 1}, optionY: {y: 1}, optionX: {x: 1}];
input2.map(({optionA, optionB, optionC}) => {
return Object.assign({}, optionA, optionB, optionC);
});
input3.map(({optionA, optionB, optionC}) => {
return Object.assign({}, optionA, optionB, optionC);
});