设置多个对象关键点的最干净方法



嗨,我正在开发一个文本解析器,我想知道是否有一个干净的方法来重写下面的代码。关于对象属性的设置方式。

//In the real case the parser returns varying result based on the param
const parserResult = {'value':2,'syntaxError':false,'NaNError':false}     
const {value,syntaxError,NaNError} = parserResult
const param = {someProperty:'any value'} //can have any properties
//the problem under here
param['value'] = value
param['syntaxError'] = syntaxError
param['NaNError'] = NaNError
console.log(param)

像这样一个接一个地设置三个属性并不那么雄辩,现在有人能找到更清洁的解决方案吗?提前谢谢。(此处测试的完整代码(

const parseParam = param => {
//In the real case the parser returns varying result based on the param
const parserResult = {'value':2,'syntaxError':false,'NaNError':false}     
const {value,syntaxError,NaNError} = parserResult
param['value'] = value
param['syntaxError'] = syntaxError
param['NaNError'] = NaNError
return param
}

const parameters = [{someProperty:'test'},{someProperty:'someValue'}]
const parsedParameters = parameters.map(parseParam)
console.log(parsedParameters)

对于这类内容,应该使用spread运算符。

它看起来是这样的:

const param = {...parserResult, someProperty:'any value'}

最新更新