0

i have an array of objects that looks like this:

invitations: Array<record> = [new record()];

    interface recordMap {
     value:string;
     err:string
   }

export class record{
  number: recordMap ;
  deptNumber: recordMap ;
  boothNumber: recordMap ;
  primaryEmail: recordMap ;
  members: recordMap [];
}

my backend request body has to look like this

[
  {
    "number": "string",
    "deptNumber": 0,
    "boothNumber": "string",
    "primaryEmail": "string",
    "members": [
      "string"
    ]
  }
]

this is what i have tried so far my struggle is for the members property because it is an array in the invitation array and I am trying to get only the value from it and push it to the request body array members.

the result of my code is code 400 bad request. How can i make this object?

const invitationArray = [];
    this.invitations.forEach(invitation => {
      invitationArray.push({
        number: invitation.number.value,
        deptNumber: invitation.deptNumber.value,
        boothNumber: invitation.boothNumber.value,
        primaryEmail: invitation.primaryEmail.value,
        members: invitation.members.forEach(number => number.value)
  });
});

1 Answer 1

1

You could try to use array map method. From the docs:

The map() method creates a new array populated with the results of calling a provided function on every element in the calling array.

var members = [{ value: 'value1', error: 'error1' }, { value: 'value2', error: 'error2' }, { value: 'value3', error: 'error3' }, { value: 'value4', error: 'error4' }]

console.log(members.map(member => member.value));

Try the following

const invitationArray = [];
    this.invitations.forEach(invitation => {
      invitationArray.push({
        number: invitation.number.value,
        deptNumber: Number(invitation.deptNumber.value),
        boothNumber: invitation.boothNumber.value,
        primaryEmail: invitation.primaryEmail.value,
        members: invitation.members.map(member => member.value)
  });
});

Also it appears deptNumber property is expected to be of type number. I've converted it to number as well.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.