view (handlebars)
{{!< main}}
<form class="ui form" action="/design/add" method="POST">
  <div class="order_list">
    <h1>Add Product</h1>
    <br>
    {{!-- <input type="file" name="image_main" placeholder="main image"> --}}
    <br>
    <br>
    Category 1
    <br><br>
    <div class="fields">
      <div class="field">
        <label>Category 1</label>
        <select class="ui search dropdown" name="category1_1">
          <option value="A1">category1_1_A1</option>
          <option value="AF">category1_1_A2</option>
        </select>
      </div>
      <div class="field">
        <label>Category 2</label>
        <select class="ui search dropdown" name="category1_2">
          <option value="1">1.category1_2_A1</option>
          <option value="2">2.category1_2_A2</option>
          <option value="3">3.category1_2_A3</option>
          <option value="4">4.category1_2_A4</option>
        </select>
      </div>
      <div class="field" id="category3">
        <label>Category 3</label>
        <select class="ui search dropdown" name="category1_3">
          <option value="1">1.category1_3_A1</option>
          <option value="2">2.category1_3_A2</option>
          <option value="3">3.category1_3_A3</option>
          <option value="4">4.category1_3_A4</option>
        </select>
      </div>
    </div>
    <div class="field">
      <input type="text" placeholder="design_name" name="design_name1">
    </div>
    <select name="skills1" multiple="" class="ui fluid dropdown">
      <option value="1">design_name1_A1</option>
      <option value="2">design_name1_A2</option>
      <option value="3">design_name1_A3</option>
      <option value="4">design_name1_A4</option>
     
    </select>
    <br><br>
  </div>
  <button type="submit">submit</button>
</form>
<br><br>
<button class="ui green large button" onclick="addform()">+</button>
javascript
<script>
  const formsLimit = 5;
  let forms = 1;
  $(document).ready(function () {
    $('.ui.dropdown')
      .dropdown();
  });
  function addform() {
    forms += 1;
    console.log(forms);
    if (forms > formsLimit) {
      forms = formsLimit
      return alert(`${forms} only!`);
    }
// =========== duplicates and appends form's inputs with increased name ==========
const html = `
<br>
Category ${forms}
<br><br>
<div class="fields">
  <div class="field">
    <label>Category 1</label>
    <select class="ui search dropdown" name="category${forms}_1">
      <option value="A1">category1_A1</option>
      <option value="AF">category1_A2</option>
    </select>
  </div>
  <div class="field">
    <label>Category 2</label>
    <select class="ui search dropdown" name="category${forms}_2">
      <option value="1">1.category1_2.A1</option>
      <option value="2">2.category1_2.A2</option>
      <option value="3">3.category1_2.A3</option>
      <option value="4">4.category1_2.A4</option>
    </select>
  </div>
  <div class="field" id="category3">
    <label>Category 3</label>
    <select class="ui search dropdown" name="category${forms}_3">
      <option value="1">1.category1_3.A1</option>
      <option value="2">2.category1_3.A2</option>
      <option value="3">3.category1_3.A3</option>
      <option value="4">4.category1_3.A4</option>
    </select>
  </div>
</div>
<div class="field">
  <input type="text" placeholder="design_name" name="design_name${forms}">
</div>
<select name="skills${forms}" multiple="" class="ui fluid dropdown">
  <option value="1">design_name1_A1</option>
  <option value="2">design_name1_A2</option>
  <option value="3">design_name1_A3</option>
  <option value="4">design_name1_A4</option>
</select>
<br>
`;  
 // ======================== END CONST HTML =======================
    $('.order_list').append(html)
    $('.ui.dropdown').dropdown();
  }
</script>
design/add router
router.post('/add', (req, res) => {
  // destructuring data
  const {
    category1_1,
    category1_2,
    category1_3,
    design_name1,
    skills1,
    ...
    
    categoryN_1
    categoryN_2
    categoryN_3,
    design_nameN,
    skillsN
  } = req.body;
  // somehow seperate them into JSON array of objects
  // ... other code
});
I'm trying to make a form that can have multiple product(options) and it's suboptions and store each of them in a JSON array of objects separately.
While the view itself is working perfectly, the data are sent as a single JSON object, which is expected since they are in a single form.
I wonder if there's a way to separate the data respectively and be sent as an JSON array, or in some form that could be iterated while not using regex.
//using Express and Handlebars
