array move

array move

by sanat gupta

JavaScript

function move(arr, old_index, new_index) {
    while (old_index < 0) {
        old_index += arr.length;
    }
    while (new_index < 0) {
        new_index += arr.length;
    }
    if (new_index >= arr.length) {
        var k = new_index - arr.length;
        while ((k--) + 1) {
            arr.push(undefined);
        }
    }
     arr.splice(new_index, 0, arr.splice(old_index, 1)[0]);  
   return arr;
}
const arr = [
  {
    _id: '60ae06f1a90b5c28e0e4cac0',
    collection_id: '60ae06dca90b5c28e0e4cabe',
    video_id: '60a79f491cc9e900b013552e',
    video_order: 1
  },
  {
    _id: '60ae06f1a90b5c28e0e4cac1',
    collection_id: '60ae06dca90b5c28e0e4cabe',
    video_id: '60a75dcb6f21a64aa07e7f52',
    video_order: 2
  },
  {
    _id: '60ae06f1a90b5c28e0e4cabf',
    collection_id: '60ae06dca90b5c28e0e4cabe',
    video_id: '60acf9c9ce295d4010414e4b',
    video_order: 3
  },
  {
    _id: '60ae2e62a90b5c28e0e4cac2',
    collection_id: '60ae06dca90b5c28e0e4cabe',
    video_id: '60a4fabf758b2940dcf471ba',
    video_order: 4
  }
]
let data = move(arr, 3, 0);
let newArr = [];

data.forEach((element,index) => {
		element.video_order = index
});
console.log('data',data)