zent
Version:
一套前端设计语言和基于React的实现
45 lines (44 loc) • 1.22 kB
JavaScript
export default function reorder(array, fromIndex, toIndex) {
var lastIndex = array.length - 1;
var firstIndex = 0;
var result = new Array(array.length);
var tmp;
if (fromIndex === toIndex) {
return array;
}
if (fromIndex < toIndex) {
for (var i = firstIndex; i <= lastIndex; i++) {
if (i === fromIndex) {
tmp = array[i];
}
else if (i > fromIndex && i < toIndex) {
result[i - 1] = array[i];
}
else if (i === toIndex) {
result[i - 1] = array[i];
result[i] = tmp;
}
else {
result[i] = array[i];
}
}
}
else {
for (var i = lastIndex; i >= firstIndex; i--) {
if (i === fromIndex) {
tmp = array[i];
}
else if (i < fromIndex && i > toIndex) {
result[i + 1] = array[i];
}
else if (i === toIndex) {
result[i] = tmp;
result[i + 1] = array[i];
}
else {
result[i] = array[i];
}
}
}
return result;
}