根据给定的数量打乱对象的数组并调整元素


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}]

所以现在我想将id 3分配给ColumnNumber 1,这样我就可以获得

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}]

欢迎,我同意你的意见,请试着解释你的麻烦以及到目前为止你做了什么。但我相信你正在寻找这样的东西。

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);

此外,如果您不在对象数组中存储列编号(因为它与索引没有什么不同(,则根本不需要for循环。

最新更新