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)