js中反转数组元素后半部分

问题描述 投票:0回答:1

这里,我写了一个程序,遍历并反转数组元素的最后一部分,就像数组是

[5, 17, 11, 10, 12, 6]
一样,我想要像
[5, 17, 11, 6, 12, 10]
那样的输出,所以我写了一个程序,但输出不是正如预期的那样出来。您能否检查并修改它以便我得到想要的结果?

let a = [5, 17, 11, 10, 12, 6];
let n = a.length;
for (let i = 0, j = (n / 2) - 1; i < n / 4; i++, j--) {
  let temp = a[n / 2 + i];
  a[n / 2 + i] = a[j];
  a[j] = temp;

}

for (i = 0; i < n; i++) {
  console.log(a[i])
}

javascript arrays data-structures
1个回答
0
投票

不需要在

Array
成员上循环所有额外的繁琐内容 - 相反,
splice()
原始数组的一半,
reverse()
拼接值,然后
push()
将它们全部返回进入
a

let a = [5, 17, 11, 10, 12, 6];
let b = a.splice(a.length / 2).reverse();
a.push(...b);
console.log(a); // [5, 17, 11, 6, 12, 10]

© www.soinside.com 2019 - 2024. All rights reserved.