JSFiddle - React, Tailwind, and code Playground

JavaScript

const data = {
  "id": "example",
  "custom_fields": [{
      "id": "example",
      "name": "Interval",
      "type": "drop_down",
      "type_config": {
        "default": 0,
        "placeholder": null,
        "options": [{
          "id": "example",
          "name": "yearly",
          "color": null,
          "orderindex": 0
        }]
      },
      "date_created": "1611228211303",
      "hide_from_guests": false,
      "value": 0,
      "required": false
    },
    {
      "id": "example",
      "name": "Description",
      "type": "text",
      "type_config": {},
      "date_created": "1611228263444",
      "hide_from_guests": false,
      "value": "Basics of information security\n",
      "required": false
    },
    {
      "id": "example",
      "name": "Year",
      "type": "number",
      "type_config": {},
      "date_created": "1611228275285",
      "hide_from_guests": false,
      "value": "2021",
      "required": false
    }
  ]
};


// returns fields as heterogenous array, but never with heteorgenous values for the same property
const fields = data.custom_fields.map(x => {

  const f = {
    id: x.id,
    name: x.name
  };

  f['value_' + x.type] = x.value;

  return f;
});

console.log(fields);
/*
[{
  id: "example",
  name: "Interval",
  value_drop_down: 0
}, {
  id: "example",
  name: "Description",
  value_text: "Basics of information security↵"
}, {
  id: "example",
  name: "Year",
  value_number: "2021"
}]
*/

// returns fields as homogenous array

const fields2 = data.custom_fields.map(x => {

  const f = {
    id: x.id,
    name: x.name,
    value_text: x.type === 'text' ? x.value : null,
    value_number: x.type === 'number' ? parseInt(x.value, 10) : null,
    value_dropdown: x.type === 'drop_down' ? x.type_config.options.find(o => o.orderindex === x.value).name : null
  };

  f['value_' + x.type] = x.value;

  return f;
});


console.log(JSON.stringify(fields2));
/*
[{
  "id": "example",
  "name": "Interval",
  "value_text": null,
 ...