将 2 个数组升序和降序移位到原始数组

Shift 2 arrays ascending and descending to the original array

let array=[3,5,2,6,1,7,4]; // output "1,7,2,6,3,5,4"
let pivot = 4;
console.log(array);
let ascending=[];
let descending=[];
let new_array=[];

for(let i=0;i<array.length;i++){
    if(array[i]<pivot){
        descending.push(array[i]);
    }
    else if(array[i]>pivot){
        ascending.push(array[i]);
    }  
}
descending.reverse();
ascending.reverse();

console.log(descending); // reversed descending value 1,2,3
console.log(ascending); //  reversed ascending value 7,6,5

你好,我想 shift 原始数组 [3, 5, 2, 6, 1, 7, 4] 的值,以便在循环时使用升序数组array[i] 大于 4 时使用 7,6,5,小于 4 时使用 1,2,3 的降序数组,因此结果将为 1,7,2,6,3,5,4

这会产生您想要达到的准确结果:

let array = [3, 5, 2, 6, 1, 7, 4]; // output "1,7,2,6,3,5,4"
let pivot = 4;
console.log(array);
let ascending = [];
let descending = [];
let new_array = [];

for (let i = 0; i < array.length; i++) {
  if (array[i] < pivot) {
    descending.push(array[i]);
  } else if (array[i] > pivot) {
    ascending.push(array[i]);
  }
}
descending.reverse();
ascending.reverse();

console.log(descending); // reversed descending value 1,2,3
console.log(ascending); //  reversed ascending value 7,6,5

let newArr = [];
for (let i = 0; i < ascending.length || i < descending.length; i++) {
  if (descending.length > i) newArr.push(descending[i]);
  if (ascending.length > i) newArr.push(ascending[i]);
}
newArr.push(pivot);
console.log(newArr);