从数组中提取值

JavaScriptJavaScriptBeginner
立即练习

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

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

简介

在本实验中,我们将通过创建一个函数来探索如何在JavaScript中操作数组,该函数可以从数组中过滤掉指定的值并改变原始数组。我们将利用内置的数组方法,如filter()includes()push()来实现此功能。在本实验结束时,你将对如何在JavaScript中操作数组有更深入的理解。


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/BasicConceptsGroup -.-> javascript/array_methods("`Array Methods`") javascript/BasicConceptsGroup -.-> javascript/obj_manip("`Object Manipulation`") javascript/AdvancedConceptsGroup -.-> javascript/higher_funcs("`Higher-Order Functions`") javascript/AdvancedConceptsGroup -.-> javascript/spread_rest("`Spread and Rest Operators`") subgraph Lab Skills javascript/variables -.-> lab-28563{{"`从数组中提取值`"}} javascript/data_types -.-> lab-28563{{"`从数组中提取值`"}} javascript/arith_ops -.-> lab-28563{{"`从数组中提取值`"}} javascript/comp_ops -.-> lab-28563{{"`从数组中提取值`"}} javascript/array_methods -.-> lab-28563{{"`从数组中提取值`"}} javascript/obj_manip -.-> lab-28563{{"`从数组中提取值`"}} javascript/higher_funcs -.-> lab-28563{{"`从数组中提取值`"}} javascript/spread_rest -.-> lab-28563{{"`从数组中提取值`"}} end

如何在JavaScript中从数组中提取值

要在JavaScript中从数组中提取特定值,可以使用Array.prototype.filter()Array.prototype.includes()方法。以下是具体做法:

const pull = (arr, ...args) => {
  let argState = Array.isArray(args[0]) ? args[0] : args;
  let pulled = arr.filter((v) => !argState.includes(v));
  arr.length = 0;
  pulled.forEach((v) => arr.push(v));
};

pull函数接受一个数组以及一个或多个表示要移除的值的参数。然后,该函数通过使用Array.prototype.filter()过滤掉指定的值来创建一个新数组。接着,它通过将原始数组的长度重置为0并仅使用Array.prototype.push()将提取的值重新填充到原始数组中,从而改变原始数组。

以下是如何使用pull函数的示例:

let myArray = ["a", "b", "c", "a", "b", "c"];
pull(myArray, "a", "c"); // myArray = [ 'b', 'b' ]

在这个示例中,pull函数从myArray数组中移除了所有出现的'a''c',并返回一个只包含值'b''b'的新数组。

总结

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

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