I have data in an array of obj with versioning dotted serial numbers like below
var sampleData = [
{ name: 'Edward', serialNumber: '1' },
{ name: 'Sharpe', serialNumber: '1.1' },
{ name: 'And', serialNumber: '1.2' },
{ name: 'The', serialNumber: '1.2.1' },
{ name: 'Magnetic', serialNumber: '2' },
{ name: 'Zeros', serialNumber: '2.1' },
{ name: 'Zeros', serialNumber: '2.1.1' },
{ name: 'shappa', serialNumber: '3' },
{ name: 'Firo', serialNumber: '4' },
{ name: 'Dholya', serialNumber: '4.1' },
{ name: 'dhampya', serialNumber: '4.1.1' },
{ name: 'SHivaji', serialNumber: '4.2' },
{ name: 'Jyoti', serialNumber: '4.2.1' },
{ name: 'Shr', serialNumber: '4.2.2' }
];
In the above sample data if the user removes the serial number 3 then the array should be.
var sampleData = [
{ name: 'Edward', serialNumber: '1' },
{ name: 'Sharpe', serialNumber: '1.1' },
{ name: 'And', serialNumber: '1.2' },
{ name: 'The', serialNumber: '1.2.1' },
{ name: 'Magnetic', serialNumber: '2' },
{ name: 'Zeros', serialNumber: '2.1' },
{ name: 'Zeros', serialNumber: '2.1.1' },
{ name: 'Firo', serialNumber: '3' },
{ name: 'Dholya', serialNumber: '3.1' },
{ name: 'dhampya', serialNumber: '3.1.1' },
{ name: 'SHivaji', serialNumber: '3.2' },
{ name: 'Jyoti', serialNumber: '3.2.1' },
{ name: 'Shr', serialNumber: '3.2.2' }
];
here we just reordered the object 4, 4.1, 4.1.1, 4.2, 4.2.1, 4.2.2 serial number objects to 3, 3.1, 3.1.1, 3.2, 3.2.1, 3.2.2
If the user removes the 4 serialNumber objects then all 4 children should be removed like the above original array will be.
var sampleData = [
{ name: 'Edward', serialNumber: '1' },
{ name: 'Sharpe', serialNumber: '1.1' },
{ name: 'And', serialNumber: '1.2' },
{ name: 'The', serialNumber: '1.2.1' },
{ name: 'Magnetic', serialNumber: '2' },
{ name: 'Zeros', serialNumber: '2.1' },
{ name: 'Zeros', serialNumber: '2.1.1' },
{ name: 'shappa', serialNumber: '3' }
];
If the user removes the 4.1 serialNumber objects then 4.1 & 4.1 children will get removed from the list and 4.2 & his children will become 4.1 & his childer like below.
var sampleData = [
{ name: 'Edward', serialNumber: '1' },
{ name: 'Sharpe', serialNumber: '1.1' },
{ name: 'And', serialNumber: '1.2' },
{ name: 'The', serialNumber: '1.2.1' },
{ name: 'Magnetic', serialNumber: '2' },
{ name: 'Zeros', serialNumber: '2.1' },
{ name: 'Zeros', serialNumber: '2.1.1' },
{ name: 'shappa', serialNumber: '3' },
{ name: 'Firo', serialNumber: '4' },
{ name: 'SHivaji', serialNumber: '4.1' },
{ name: 'Jyoti', serialNumber: '4.1.1' },
{ name: 'Shr', serialNumber: '4.1.2' }
];
is there any best way to do this, reorder the above list if any object gets removed.