📌  相关文章
📜  javascript 获取数组的中间 - Javascript (1)

📅  最后修改于: 2023-12-03 15:01:46.118000             🧑  作者: Mango

Javascript 获取数组的中间

在 Javascript 中,获取数组的中间可以有多种实现方式。

方法一:使用 splice()

可以使用数组的 splice() 方法,从中间切割出需要的部分。

const arr = [1, 2, 3, 4, 5, 6];
const middle = arr.splice(Math.floor(arr.length / 2), 1);
console.log(middle); // [4]
console.log(arr); // [1, 2, 3, 5, 6]

上述代码中,使用 Math.floor() 函数获取数组的中间索引值,然后使用 splice() 方法从数组中删掉中间元素,最后得到的就是中间元素数组。

方法二:使用 slice()

可以使用数组的 slice() 方法,获取从中间开始,指定长度的部分。

const arr = [1, 2, 3, 4, 5, 6];
const midIndex = Math.floor(arr.length / 2)
const length = 2
const middle = arr.slice(midIndex, midIndex + length);
console.log(middle); // [3, 4]
console.log(arr); // [1, 2, 3, 4, 5, 6]

上述代码中,使用 Math.floor() 函数获取数组的中间索引值,然后使用 slice() 方法获取从中间元素开始,指定长度的部分,最后得到的就是中间元素数组。

方法三:使用 Array.reduce()

可以使用数组的 reduce() 方法,将数组中的元素合并成一个值,然后根据值的长度,获取中间元素。

const arr = [1, 2, 3, 4, 5, 6];
const middle = arr.reduce((prev, curr, index) => {
  if (index === Math.floor((arr.length - 1) / 2) || index === Math.floor(arr.length / 2)) {
    prev.push(curr);
  }
  return prev;
}, []);
console.log(middle); // [3, 4]
console.log(arr); // [1, 2, 3, 4, 5, 6]

上述代码中,使用 reduce() 方法将数组中的元素合并成一个数组,然后根据数组的长度获取中间元素,最后得到的就是中间元素数组。

以上就是 Javascript 获取数组的中间的三种方式。可以根据实际需求选择合适的方法。