获取JavaScript数组的第n个元素
从JavaScript数组中检索元素通常是通过索引来完成的。但是如果我们想要从数组末尾获取第n
个元素呢?或者,也许是获取所有索引是n
的倍数的元素?让我们看看如何实现。
获取JavaScript数组的第n个元素
通过使用Array.prototype.slice()
,可以轻松地获取JavaScript数组的第n
个元素。唯一需要记住的是负索引,可以用来获取数组的倒数第n
个元素。
const nthElement = (arr, n = 0) =>
(n === -1 ? arr.slice(n) : arr.slice(n, n + 1))[0];
nthElement(['a', 'b', 'c'], 1); // 'b'
nthElement(['a', 'b', 'b'], -3); // 'a'
nthElement(['a', 'b', 'b'], 3); // undefined
获取JavaScript数组的每个第n个元素
如果需要获取JavaScript数组的每个第n
个元素,可以使用Array.prototype.filter()
。结合取模运算符(%
),可以使用它来保留数组中每个第n
个位置的元素。
const everyNth = (arr, nth) =>
arr.filter((e, i) => i % nth === nth - 1);
everyNth([1, 2, 3, 4, 5, 6], 2); // [ 2, 4, 6 ]