假设我有一个单独的ID数组要移动(vanilla或Lodash),如何将数组中的一个或多个对象在索引中上移1个位置.
我大概会使用Splice(),但我不确定如何在这个更复杂的上下文中使用它.
例如:
// use this array of rowids
const rowsToBeMoved = ['row4', 'row5'];
// target the objects bearing those row ids in an array of objects:
const rowsArr = [
{ rowid: "row0", name: "Mark Johnson" },
{ rowid: "row1", name: "Jill Trillian" },
{ rowid: "row2", name: "Alan Drangson" },
{ rowid: "row3", name: "Bill Greggory" },
{ rowid: "row4", name: "Alice Walker" },
{ rowid: "row5", name: "Kurt Rose" },
];
// move both objects up 1 position in the index so the result is this:
const orderedRowsArr = [
{ rowid: "row0", name: "Mark Johnson" },
{ rowid: "row1", name: "Jill Trillian" },
{ rowid: "row2", name: "Alan Drangson" },
{ rowid: "row4", name: "Alice Walker" },
{ rowid: "row5", name: "Kurt Rose" },
{ rowid: "row3", name: "Bill Greggory" },
];
这就是我到目前为止所拥有的.我能够获得要移动的行的索引,但我不知道如何对其应用Splice().
let moveIndexes = [];
this.rowsArr.forEach((row) => {
moveIndexes.push(
this.collection.rows.findIndex((r) => r.rowid === row.rowid)
);
});