-1

I have the object which I get from backend:

form: {
  currentForm: {
    fields: {
      firstField: {
        value: 'value1',
        label: 'label1',
        oneMoreProp: 'oneMoreProp1'
      },
        secondField: {
        value: 'value2',
        label: 'label2',
        oneMoreProp: 'oneMoreProp2'
      },
        thirdField: {
        value: 'value3',
        label: 'label3',
        oneMoreProp: 'oneMoreProp3'
      }
    }
  }
}

I have to copy it, removing unnecessary to send props, like that:

form: {
  currentForm: {
    fields: {
      firstField: {
        value: 'value1'
      },
        secondField: {
        value: 'value2'
      },
        thirdField: {
        value: 'value3'
      }
    }
  }
}

How can I implement it in the best and fastest way? Thank you in advice.

Jarvis
  • 384
  • 2
  • 6
  • 18
  • 1
    Some ideas here: https://stackoverflow.com/questions/17781472/how-to-get-a-subset-of-a-javascript-objects-properties – Rup Jul 03 '18 at 15:22

1 Answers1

2

One idea. You could map each field and reassign it only the value of it.

form = {
  currentForm: {
    fields: {
      firstField: {
        value: 'value1',
        label: 'label1',
        oneMoreProp: 'oneMoreProp1'
      },
      secondField: {
        value: 'value2',
        label: 'label2',
        oneMoreProp: 'oneMoreProp2'
      },
      thirdField: {
        value: 'value3',
        label: 'label3',
        oneMoreProp: 'oneMoreProp3'
      }
    }
  }
}

Object.keys(form.currentForm.fields).map(function(a) {
  form.currentForm.fields[a] = {
    'value': form.currentForm.fields[a].value
  }
})

console.log(
  form
)