**Limitations:**

1. I am limited to *not* using ES6 syntax
2. I need a way to do this without knowing the exact properties of the object. So without manually adding `id`, and `name` when pushing to the `desiredOutput` array, but rather copying all the properties automatically.

**I have:**
*an array with one object which has multiple, unique, `props`*

```
var items = [
  {
    id: 1,
    name: "item name",
    props: [
      {
        propId: 1,
        propName: "name one"
      }, 
      {
        propId: 2,
        propName: "name two"
      },
      {
        propId: 3,
        propName: "name three"
      }
    ]
  }
];

```

**Desired outcome:**
*a new array that contains **one** copy of the original object inside the array, **per each** `prop`*

```
var desiredOutput = [
    {
      id: 1,
      name: "item name",
      props: [
        {
          propId: 1,
          propName: "name one"
        }
      ]
    },
    {
      id: 1,
      name: "item name",
      props: [
        {
          propId: 2,
          propName: "name two"
        }
      ]
    },
    {
      id: 1,
      name: "item name",
      props: [
        {
          propId: 3,
          propName: "name three"
        }
      ]
    }
  ];

```