function printMiddle(n, nums) { let re = []; let arr = [...nums]; // 拷贝原数组 let sortArr = nums.sort((a, b) => a-b); // 数组排序 // mid 是排序后的中间值 let mid = sortArr[n / 2]; for(let i = 0; i < n; i++) { // 若当前值小于mid的话,则删掉之后中位数就是mid, // 若>=的话中位数就是mid的左边那个元素 if (arr[i] < mid) { re.push(mid); } else { re.push(sortArr[(n / 2) - 1]); } } return re; } console.log(printMiddle(8, [10, 15, 13, 2, 6, 4, 2, 9]));