I have to deep clone an array of objects
  filterList: Filter[] = [
    new ChipsFilter('Rating', 'rating',
      [
        {
          name: '5 ★',
          key: '5',
          value: true
        },
        {
          name: '4 ★',
          key: '4',
          value: true
        },
        {
          name: '3 ★',
          key: '3',
          value: true
        },
        {
          name: '2 ★',
          key: '2',
          value: true
        },
        {
          name: '1 ★',
          key: '1',
          value: true
        }
      ]),
    new CheckboxFilter('Country', 'country', [
      {
        name: 'India',
        key: 'india',
        value: true
      },
      {
        name: 'Brazil',
        key: 'brazil',
        value: false
      },
      {
        name: 'UAE',
        key: 'uae',
        value: true
      },
      {
        name: 'Sri Lanka',
        key: 'sri-lanka',
        value: true
      },
      {
        name: 'USA',
        key: 'usa',
        value: false
      },
      {
        name: 'England',
        key: 'england',
        value: true
      },
      {
        name: 'South Africa',
        key: 'south-africa',
        value: true
      }
    ]),
    new CalendarFilter('Date', 'createdAt', [
      {
        name: 'Start Date',
        key: 'startDate',
        value: ''
      },
      {
        name: 'End Date',
        key: 'endDate',
        value: ''
      }
    ]),
  ];
After clone I want the data type of objects to be same but I get the object as the type instead, have tried below methods for cloning.
- Using JSON stringify
this.filterList = this.filterList.map(a => Object.assign({}, a));
- Using object.assign
this.filterList = this.filterList.map(a => Object.assign({}, a));
 
     
     
    