合并已排序数组

JavaScriptJavaScriptBeginner
立即练习

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

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

简介

在本实验中,我们将探索如何使用 JavaScript 将两个已排序的数组合并成一个单一的已排序数组。我们将使用展开运算符、Array.from()shift() 方法来高效地合并数组。在本实验结束时,你将对如何在 JavaScript 中操作数组有更深入的理解。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("`JavaScript`")) -.-> javascript/BasicConceptsGroup(["`Basic Concepts`"]) javascript(("`JavaScript`")) -.-> javascript/AdvancedConceptsGroup(["`Advanced Concepts`"]) javascript(("`JavaScript`")) -.-> javascript/ToolsandEnvironmentGroup(["`Tools and Environment`"]) 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/BasicConceptsGroup -.-> javascript/cond_stmts("`Conditional Statements`") javascript/BasicConceptsGroup -.-> javascript/array_methods("`Array Methods`") javascript/AdvancedConceptsGroup -.-> javascript/spread_rest("`Spread and Rest Operators`") javascript/ToolsandEnvironmentGroup -.-> javascript/debugging("`Debugging`") subgraph Lab Skills javascript/variables -.-> lab-28497{{"`合并已排序数组`"}} javascript/data_types -.-> lab-28497{{"`合并已排序数组`"}} javascript/arith_ops -.-> lab-28497{{"`合并已排序数组`"}} javascript/comp_ops -.-> lab-28497{{"`合并已排序数组`"}} javascript/cond_stmts -.-> lab-28497{{"`合并已排序数组`"}} javascript/array_methods -.-> lab-28497{{"`合并已排序数组`"}} javascript/spread_rest -.-> lab-28497{{"`合并已排序数组`"}} javascript/debugging -.-> lab-28497{{"`合并已排序数组`"}} end

用 JavaScript 合并已排序数组的说明

要在 JavaScript 中合并两个已排序的数组,请遵循以下步骤:

  1. 打开终端/SSH 并输入 node 开始练习编码。
  2. 使用展开运算符(...)克隆给定的两个数组。
  3. 使用 Array.from() 根据给定数组创建一个长度合适的数组。
  4. 使用 Array.prototype.shift() 从克隆数组中移除的元素填充新创建的数组。

以下是合并两个已排序数组的示例代码片段:

const mergeSortedArrays = (a, b) => {
  const _a = [...a],
    _b = [...b];
  return Array.from({ length: _a.length + _b.length }, () => {
    if (!_a.length) return _b.shift();
    else if (!_b.length) return _a.shift();
    else return _a[0] > _b[0] ? _b.shift() : _a.shift();
  });
};

console.log(mergeSortedArrays([1, 4, 5], [2, 3, 6])); // 输出: [1, 2, 3, 4, 5, 6]

在上述代码中,mergeSortedArrays 函数接受两个已排序数组作为参数,并按照上述步骤返回合并后的数组。示例代码的输出是 [1, 2, 3, 4, 5, 6]

总结

恭喜你!你已经完成了“合并已排序数组”实验。你可以在 LabEx 中练习更多实验来提升你的技能。

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