let arr = [ { id:1 ,name : 'firstName' , columnNumber:1},
{ id:2 ,name : 'lastName' , columnNumber:2}
{ id:3 ,name : 'MiddleName' , columnNumber:3},
{ id:4 ,name : 'OfficeNo' , columnNumber:4},
{ id:5 ,name : 'CustomerName' , columnNumber:5}]
So now I want to assign id 3 to ColumnNumber 1 so that I will get
let arr = [ { id:3,name : 'MiddleName' , columnNumber:1},
{ id:1,name : 'firstName' , columnNumber:2}
{ id:2 ,name : 'lastName' , columnNumber:3},
{ id:4 ,name : 'OfficeNo' , columnNumber:4},
{ id:5 ,name : 'CustomerName' , columnNumber:5}]
Welcome, I agree on comments, please try to explain your trouble and what you have done so far. But I believe you're looking for something like that.
let arr = [{ id:1 ,name : 'firstName' , columnNumber:1},{ id:2 ,name : 'lastName' , columnNumber:2},{ id:3 ,name : 'MiddleName' , columnNumber:3},{ id:4 ,name : 'OfficeNo' , columnNumber:4},{ id:5 ,name : 'CustomerName' , columnNumber:5}];
function moveElement(arr, from, to){
let temp = arr[from];
arr.splice(from, 1);
arr.splice(to, 0, temp);
for(let i=Math.min(from,to); i<=Math.max(from,to); i++){
arr[i]["columnNumber"] = i+1;
}
}
moveElement(arr, 2, 0);
console.log(arr);
Besides, if you dont store column number in your object array (because its not a different thing from its index), you wont need the for loop at all.