简介
在这个实验中,我们将探索在数组中找到满足给定条件的最后 n 个元素的概念。我们将学习如何使用 for 循环遍历数组,并对每个元素执行提供的函数。我们还将学习如何使用 Array.prototype.unshift() 方法将匹配的元素添加到结果数组的开头,并在达到所需长度后返回该数组。
在这个实验中,我们将探索在数组中找到满足给定条件的最后 n 个元素的概念。我们将学习如何使用 for 循环遍历数组,并对每个元素执行提供的函数。我们还将学习如何使用 Array.prototype.unshift() 方法将匹配的元素添加到结果数组的开头,并在达到所需长度后返回该数组。
要查找满足特定条件的最后 n 个元素,请执行以下步骤:
node 开始练习编码。findLastN 函数。arr 和一个 matcher 函数,该函数为你要匹配的元素返回真值。n(默认值为 1)。for 循环从最后一个元素开始,对 arr 的每个元素执行 matcher 函数。matcher 条件,它将使用 Array.prototype.unshift() 添加到结果数组中,该方法会将元素添加到数组开头。n 时,函数将返回结果。n 大于匹配项的数量,则返回空数组。const findLastN = (arr, matcher, n = 1) => {
let res = [];
for (let i = arr.length - 1; i >= 0; i--) {
const el = arr[i];
const match = matcher(el, i, arr);
if (match) res.unshift(el);
if (res.length === n) return res;
}
return res;
};
以下是一些使用 findLastN 函数的示例:
findLastN([1, 2, 4, 6], (n) => n % 2 === 0, 2); // [4, 6]
findLastN([1, 2, 4, 6], (n) => n % 2 === 0, 5); // [2, 4, 6]
恭喜你!你已经完成了“查找最后 N 个匹配项”实验。你可以在 LabEx 中练习更多实验来提升你的技能。