Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在json对象中编辑某些字段的更好方法?_Javascript_Json_Redux - Fatal编程技术网

Javascript 在json对象中编辑某些字段的更好方法?

Javascript 在json对象中编辑某些字段的更好方法?,javascript,json,redux,Javascript,Json,Redux,我有一个javascript状态对象,如下所示: expFormErrors: { position: false, company: false, dateStart: false, dateEnd: false } return { ...state, expFormErrors: { ...state.expFormErrors, [someParameterStringWhichWouldEqua

我有一个javascript状态对象,如下所示:

expFormErrors: { 
    position: false, 
    company: false, 
    dateStart: false, 
    dateEnd: false
}
return {
    ...state,
    expFormErrors: { 
        ...state.expFormErrors,
        [someParameterStringWhichWouldEqualTheWantedField]: action.payload.fieldError
我有一个应该验证的输入字段。 我的验证函数如下所示。很简单

function validateText(text, fieldError, fieldInStringFormat) {
    let minLength = 3;
    let maxLength = 30;
    let hasError = false;
    if(text.length < minLength || text.length > maxLength) {
        hasError = true;
    } else hasError = false;
    return {
        type: VALIDATE_TEXT,
        payload: { field: fieldInStringFormat, fieldError: hasError }
}
正如你所看到的,这是一大堆重复的代码,我相信这是没有人想要的永远不要重复“假设我有一个有100个字段的对象,键入所有这些都是荒谬的。”

有更好的方法吗?我试图查找各种JSON引用,但找不到任何内置的方法

我想象的解决方案是这样的:

expFormErrors: { 
    position: false, 
    company: false, 
    dateStart: false, 
    dateEnd: false
}
return {
    ...state,
    expFormErrors: { 
        ...state.expFormErrors,
        [someParameterStringWhichWouldEqualTheWantedField]: action.payload.fieldError
你想要的术语是。他们将完全满足您的需要:

return {
  ...state,
  expFormErrors: {
    ...state.expFormErrors,
    [action.fieldInStringFormat]: action.payload.fieldError
  }
};

哇,我很接近,有正确的想法,但不太确定。。。谢谢你,伙计!你提供的链接是纯金的,谢谢!