映射连续元素

JavaScriptJavaScriptBeginner
立即练习

This tutorial is from open-source community. Access the source code

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在本实验中,我们将探索 JavaScript 中的 mapConsecutive 函数。该函数允许我们使用给定函数对数组的连续元素进行映射。我们将学习如何使用此函数以简洁高效的方式操作数组。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("`JavaScript`")) -.-> javascript/BasicConceptsGroup(["`Basic Concepts`"]) javascript(("`JavaScript`")) -.-> javascript/AdvancedConceptsGroup(["`Advanced Concepts`"]) javascript/BasicConceptsGroup -.-> javascript/variables("`Variables`") javascript/BasicConceptsGroup -.-> javascript/data_types("`Data Types`") javascript/BasicConceptsGroup -.-> javascript/arith_ops("`Arithmetic Operators`") javascript/BasicConceptsGroup -.-> javascript/comp_ops("`Comparison Operators`") javascript/AdvancedConceptsGroup -.-> javascript/higher_funcs("`Higher-Order Functions`") subgraph Lab Skills javascript/variables -.-> lab-28479{{"`映射连续元素`"}} javascript/data_types -.-> lab-28479{{"`映射连续元素`"}} javascript/arith_ops -.-> lab-28479{{"`映射连续元素`"}} javascript/comp_ops -.-> lab-28479{{"`映射连续元素`"}} javascript/higher_funcs -.-> lab-28479{{"`映射连续元素`"}} end

用于映射数组中连续元素的函数

要开始编码,请打开终端/SSH 并输入 node

此函数使用给定函数 fn 映射数组中每 n 个连续元素组成的块。请按以下步骤操作:

  • 使用 Array.prototype.slice() 获取一个新数组 arr,其中移除了前 n 个元素。
  • 使用 Array.prototype.map()Array.prototype.slice()fn 应用于 arr 中每 n 个连续元素组成的块。

以下是代码:

const mapConsecutive = (arr, n, fn) =>
  arr.slice(n - 1).map((v, i) => fn(arr.slice(i, i + n)));

例如,你可以使用 mapConsecutive() 映射数字数组中每 3 个连续元素组成的块,并使用破折号连接它们:

mapConsecutive([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 3, (x) => x.join("-"));
// ['1-2-3', '2-3-4', '3-4-5', '4-5-6', '5-6-7', '6-7-8', '7-8-9', '8-9-10'];

总结

恭喜你!你已完成“映射连续元素”实验。你可以在 LabEx 中练习更多实验来提升你的技能。

您可能感兴趣的其他 JavaScript 教程