获取JavaScript数组中的前n个或后n个元素
Array.prototype.slice()
是每个JavaScript开发者工具箱中的一种多功能工具。它可以检索数组中两个索引之间的值,处理负数和超出边界的索引等边界情况。这使得它非常适合获取数组的前n个或后n个元素。
对于前n个元素,您可以使用起始值为0
,结束值为n
。对于后n个元素,您可以使用起始值为-n
,没有结束值。
const firstN = (arr, n = 1) => arr.slice(0, n);
const lastN = (arr, n = 1) => arr.slice(-n);
const arr = ['a', 'b', 'c', 'd'];
firstN(arr); // ['a']
firstN(arr, 2); // ['a', 'b']
firstN(arr, 5); // ['a', 'b', 'c', 'd']
lastN(arr); // ['d']
lastN(arr, 2); // ['c', 'd']
lastN(arr, 5); // ['a', 'b', 'c', 'd']
正如您所见,只需要一行代码就可以获取数组的前n个或后n个元素。此代码还处理了超出边界的索引,结果是原始数组的浅克隆。但是,请注意负数的n
值,因为结果可能没有太多意义。