JavaScript 数组方法:综合指南

javascript 数组方法:综合指南

数组是 javascript 中最基本的数据结构之一。使用数组,您可以在单个变量中存储多个值。 javascript 提供了许多内置方法来操作数组,使它们具有令人难以置信的通用性。在这篇文章中,我们将探讨所有内置数组方法以及如何在 javascript 项目中有效地使用它们。

核心方法

foreach()

foreach() 方法允许您迭代数组并为数组中的每个元素执行一次提供的函数。这是循环数组的简单方法。

const array = [1, 2, 3, 4, 5];array.foreach((element) => {  console.log(element);});

地图()

map() 方法创建一个新数组,其中填充了对数组中每个元素调用所提供函数的结果。它通常用于转换数据。

const array = [1, 2, 3, 4, 5];const doubled = array.map((element) => element * 2);console.log(doubled); // [2, 4, 6, 8, 10]

筛选()

filter() 方法创建一个新数组,其中包含通过所提供函数实现的测试的所有元素。当您需要根据条件从数组中过滤掉某些元素时,它非常有用。

const array = [1, 2, 3, 4, 5];const evennumbers = array.filter((element) => element % 2 === 0);console.log(evennumbers); // [2, 4]

减少()

reduce()方法对数组的每个元素执行reducer函数,产生单个输出值。它通常用于对值求和、累加总计或将数组合并为单个值。

const array = [1, 2, 3, 4, 5];const sum = array.reduce((accumulator, currentvalue) => accumulator + currentvalue, 0);console.log(sum); // 15

寻找()

find() 方法返回数组中满足所提供的测试函数的第一个元素的值。它在找到第一个匹配项后停止。

const array = [1, 2, 3, 4, 5];const found = array.find((element) => element > 3);console.log(found); // 4

查找索引()

findindex() 方法返回数组中满足所提供的测试函数的第一个元素的索引。如果没有元素满足测试函数,则返回-1。

const array = [1, 2, 3, 4, 5];const index = array.findindex((element) => element > 3);console.log(index); // 3

种类()

sort() 方法对数组的元素进行就地排序并返回排序后的数组。它通常用于对字符串和数字进行排序,但可能需要比较函数才能正确对数字进行排序。

const array = [5, 3, 8, 1, 2];const sortedarray = array.sort((a, b) => a - b);console.log(sortedarray); // [1, 2, 3, 5, 8]

撤销()

reverse() 方法原地反转数组的元素。第一个数组元素成为最后一个,最后一个成为第一个。

const array = [1, 2, 3, 4, 5];const reversedarray = array.reverse();console.log(reversedarray); // [5, 4, 3, 2, 1]

连接()

concat() 方法用于合并两个或多个数组。它返回一个新数组,保持原始数组不变。

const array1 = [1, 2, 3];const array2 = [4, 5, 6];const concatenatedarray = array1.concat(array2);console.log(concatenatedarray); // [1, 2, 3, 4, 5, 6]

片()

slice() 方法将数组的一部分的浅拷贝返回到从头到尾(不包括 end)选择的新数组对象中。

const array = [1, 2, 3, 4, 5];const slicedarray = array.slice(1, 4);console.log(slicedarray); // [2, 3, 4]

拼接()

splice() 方法通过删除、替换或添加元素来更改数组的内容。

const array = [1, 2, 3, 4, 5];array.splice(2, 1, 6, 7);console.log(array); // [1, 2, 6, 7, 4, 5]

推()

push() 方法将一个或多个元素添加到数组末尾并返回数组的新长度。

const array = [1, 2, 3];array.push(4, 5);console.log(array); // [1, 2, 3, 4, 5]

流行音乐()

pop() 方法从数组中删除最后一个元素并返回该元素。

const array = [1, 2, 3, 4, 5];const lastelement = array.pop();console.log(lastelement); // 5console.log(array); // [1, 2, 3, 4]

转移()

shift() 方法从数组中删除第一个元素并返回该元素。

const array = [1, 2, 3, 4, 5];const firstelement = array.shift();console.log(firstelement); // 1console.log(array); // [2, 3, 4, 5]

取消移位()

unshift() 方法将一个或多个元素添加到数组的开头并返回数组的新长度。

const array = [2, 3, 4, 5];array.unshift(1);console.log(array); // [1, 2, 3, 4, 5]

加入()

join() 方法通过连接数组中的所有元素(用逗号或指定的分隔符字符串分隔)来创建并返回一个新字符串。

const array = [1, 2, 3, 4, 5];const joinedstring = array.join('-');console.log(joinedstring); // "1-2-3-4-5"

附加方法

每一个()

every() 方法测试数组中的所有元素是否通过提供的测试函数。

const array = [2, 4, 6, 8];const alleven = array.every((element) => element % 2 === 0);console.log(alleven); // true

一些()

some() 方法测试数组中至少一个元素是否通过提供的测试函数。

const array = [1, 2, 3, 4, 5];const haseven = array.some((element) => element % 2 === 0);console.log(haseven); // true

平坦的()

flat() 方法创建一个新数组,其中所有子数组元素递归地连接到其中,直到指定的深度。

const array = [1, [2, [3, [4]]]];const flattenedarray = array.flat(2);console.log(flattenedarray); // [1, 2, 3, [4]]

平面地图()

flatmap() 方法首先使用映射函数映射每个元素,然后将结果展平到一个新数组中。它是map()和flat()的组合。

const array = [1, 2, 3, 4];const flattened = array.flatmap((num) => [num, num * 2]);console.log(flattened); // [1, 2, 2, 4, 3, 6, 4, 8]

充满()

fill() 方法用静态值填充数组中从起始索引到结束索引的所有元素。

const array = [1, 2, 3, 4, 5];array.fill(0, 2, 4);console.log(array); // [1, 2, 0, 0, 5]

在()内复制

copywithin() 方法将数组的一部分浅拷贝到同一数组中的另一个位置,而不修改其长度。

const array = [1, 2, 3, 4, 5];array.copywithin(0, 3, 5);console.log(array); // [4, 5, 3, 4, 5]

包括()

includes() 方法检查数组是否包含某个值。

const array = [1, 2, 3, 4, 5];const hasthree = array.includes(3);console.log(hasthree); // true

tostring()

tostring() 方法将数组转换为字符串,以逗号分隔。

const array = [1, 2, 3, 4, 5];const arraystring = array.tostring();console.log(arraystring); // "1,2,3,4,5"

索引()

indexof() 方法返回在数组中可以找到给定元素的第一个索引,如果不存在则返回 -1。

const array = [1, 2, 3, 4, 5];const index = array.indexof(3);console.log(index); // 2

最后索引()

lastindexof() 方法返回在数组中可以找到给定元素的最后一个索引,如果不存在则返回 -1。

const array = [1, 2, 3, 4, 3, 5];const lastindex = array.lastindexof(3);console.log(lastindex); // 4

从()

array.from() 方法从类似数组或可迭代对象创建一个新的数组实例。

const array = array.from('hello');console.log(array); // ['h', 'e', 'l', 'l', 'o']

isarray()

array.isarray() 方法检查传递的值是否是数组。

const array = [1, 2, 3, 4, 5];const notarray = { a: 1, b: 2 };console.log(array.isarray(array)); // trueconsole.log(array.isarray(notarray)); // false

的()

array.of() 方法创建一个具有可变数量元素的新数组实例。

const array1 = Array.of(1, 2, 3);const array2 = Array.of('a', 'b', 'c');console.log(array1); // [1, 2, 3]console.log(array2); // ['a', 'b', 'c']

结论

javascript 数组具有多种内置方法,可以进行强大的数据操作。了解这些方法将使您更有效地编写干净简洁的代码。花一些时间尝试这些方法,看看它们如何改进您的代码。
最初发布:javascript 数组方法指南

以上就是JavaScript 数组方法:综合指南的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1491470.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月19日 13:59:34
下一篇 2025年12月19日 13:59:40

相关推荐

  • 电子书

    es6 (ecmascript 2015) 为 javascript 引入了多项新功能和语法改进。以下是最重要的 es6 语法的总结和示例: 1. let 和 const 关键字 es6 为块作用域变量引入了 let 和 const。 let:块范围变量,可以更新,但不能在同一范围内重新声明。con…

    2025年12月19日
    000
  • Javascript 中的展开和休息运算符及其示例

    剩余和扩展运算符是 javascript 中强大的功能,允许您更有效地处理数组、对象和函数参数。它们都使用相同的语法 (…),但用途不同。 休息操作员 (…) 剩余运算符用于将所有剩余元素收集到数组中。它通常用在函数参数中来处理可变数量的参数。 休息运算符示例: functi…

    2025年12月19日
    000
  • #LearnedToday:ObjectgroupBy()

    ?终于出来了!不再需要编写丑陋的代码来按字段的特定值对对象数组进行分组! 自 2023 年底以来,对象有一个名为 groupby() 的官方静态方法,可以为我们做到这一点!它接受一个 iterable(例如数组)和一个函数,该函数针对每个元素执行,并且必须返回该特定元素的“类别”。该方法返回一个新对…

    2025年12月19日
    000
  • JavaScript 中 for 循环的类型

    我们都知道并且喜欢经典的 for 循环,但是您知道 javascript 还有其他一些强大的 for 循环选项吗? 1) for/in:这个对于迭代对象的键和操作对象属性非常有用。 example:const obj = {name: “javascript”, type: “language”};…

    2025年12月19日
    000
  • 传播和休息运算符

    从现有数组形成一个新数组,字符噪音更少。spread 将元素提取为值。它是一个不可变的函数。[] 是写入新数组的方式。因此,展开不会改变原始数组。spread 适用于所有可迭代对象,而不仅仅是数组。iterables:字符串、数组、映射、集合,即除了对象数据类型之外的大多数内置数据结构。 与解构的区…

    2025年12月19日
    000
  • JavaScript:默认参数、扩展运算符、剩余参数和解构!

    默认参数 我们可以直接在参数列表中添加默认值 function rolldie(numsides = 6) { return math.floor(math.random() * numsides) + 1;} 这里,需要注意秩序。默认参数只能出现在任何没有默认值的参数之后: function gr…

    2025年12月19日
    000
  • c++的for循环新写法 基于范围的for循环详解【教程】

    C++11基于范围的for循环简化容器遍历,语法为for(decl:expr),支持标准容器、原生数组等;需注意不可修改容器结构、不提供索引、类型推导需谨慎。 C++11 引入了基于范围的 for 循环(range-based for loop),让遍历容器或数组变得更简洁、安全、易读。它自动处理迭…

    2025年12月19日
    000
  • c++如何编写高效的for循环_c++基于范围的for循环与优化

    基于范围的for循环通过引用避免拷贝可提升效率,优先使用const auto&读取、auto&修改,减少大型对象复制开销,增强性能与可读性。 在C++中,编写高效的for循环不仅影响程序性能,还关系到代码可读性和维护性。随着C++11引入基于范围的for循环(range-based …

    2025年12月19日
    000
  • C++ 如何使用 for-each 循环 (基于范围的 for 循环)_C++ 范围 for 循环遍历容器方法

    C++11引入的基于范围的for循环使遍历更简洁,语法为for (declaration : range),可直接遍历数组或容器,如int arr[] = {1,2,3,4,5}; for (int x : arr)输出各元素。 C++11 引入了基于范围的 for 循环(range-based f…

    2025年12月19日
    000
  • C#的foreach循环如何遍历集合?底层实现是什么?

    答案:foreach循环通过IEnumerator实现安全遍历,避免修改集合时的异常。它利用IEnumerable接口获取枚举器,以MoveNext和Current遍历元素,编译器自动生成try-finally确保资源释放,适合只读场景;而for循环更灵活高效但易出错,修改集合时应避免foreach…

    2025年12月17日
    000
  • Go语言中的类型泛化与泛型模拟:接口的运用与演进

    Go语言在早期版本中,不直接支持Haskell等语言中的类型变量或泛型。为了实现类型无关的功能,Go语言主要依赖空接口`interface{}`。通过将参数和返回值声明为`interface{}`,函数可以处理任何类型的数据,但需要进行类型断言来恢复具体类型。Go 1.18版本后引入了真正的泛型,为…

    2025年12月16日
    000
  • python集合中的操作符有哪些?怎么用?

    Python集合支持|(并集)、&(交集)、-(差集)、^(对称差集)操作符,用于简洁执行集合运算,如a|b得{1,2,3,4,5},a&b得{3},a-b得{1,2},a^b得{1,2,4,5},均返回新集合而不修改原集合。 Python集合支持多种操作符,用于执行常见的集合运算,…

    2025年12月15日
    000
  • python列表推导式是什么意思?

    列表推导式是Python中创建列表的简洁方法,1. 通过[表达式 for 变量 in 可迭代对象 if 条件]语法实现;2. 可替代传统for循环生成如平方数列表;3. 支持条件筛选,如保留偶数平方;4. 适用于数据转换与过滤,提升代码可读性和效率。 列表推导式是 Python 中一种简洁、高效地创…

    2025年12月15日
    000
  • Python中Collections模块数据类型如何使用?

    Collections模块提供高效容器:Counter统计频次,defaultdict自动初始化,OrderedDict保持顺序,deque支持双端操作,提升代码简洁性与性能。 Python 的 Collections 模块提供了比内置数据类型更高级、更灵活的容器类型,能够简化特定场景下的代码逻辑。…

    2025年12月15日
    000
  • python中reverse函数如何使用?

    Python中无独立reverse函数,但可通过list.reverse()方法原地反转列表,reversed()函数生成反向迭代器,或使用切片[::-1]创建新反转序列。 Python 中没有单独的 reverse 函数,但有两个常见的用法:列表的 reverse() 方法和内置函数 revers…

    2025年12月15日
    000
  • python协程里yield from如何使用?

    yield from用于委托生成器执行,可简化代码并实现数据透传、异常传递和双向通信。 在Python协程中,yield from 主要用于委托生成器或协程的执行,把当前生成器的操作“转发”给另一个可迭代对象或子生成器。它不仅简化了代码,还能让外层生成器直接与内层生成器通信,实现数据的透传和异常传递…

    2025年12月15日
    000
  • python中的all函数是如何用的?

    all()函数用于判断可迭代对象中所有元素是否均为真值,若为空也返回True;示例包括验证列表元素全为正、字符串非空、含False则返回False及空列表返回True;常用于表单验证、权限校验和数据清洗。 Python中的all()函数用来判断一个可迭代对象中的所有元素是否都为真。它返回一个布尔值:…

    2025年12月15日
    000
  • python中min函数怎么用?

    min()函数用于找出数值或可迭代对象中的最小值,支持多种数据类型。基本用法包括比较多个数字、列表、元组等,如min(3, 1, 4, 1, 5)返回1,min([2, 8, 1, 9])返回1;字符串按字典序比较,min([‘apple’, ‘banana&#8…

    2025年12月15日
    000
  • python中的reduce函数是如何使用的?

    reduce函数用于累积操作,需从functools导入,语法为reduce(function, iterable[, initializer]),通过逐步合并元素返回单一结果,如求和、连乘、找最大值等。 Python中的reduce函数用于对一个可迭代对象进行累积操作,每次将前一次计算的结果与下一…

    2025年12月15日
    000
  • python中如何给list排序?

    Python中排序可用sort()和sorted(),前者原地修改列表,后者返回新列表;通过reverse控制升降序,key指定排序规则,如按长度或忽略大小写。 Python中给list排序有两种常用方法:使用列表的sort()方法或内置的sorted()函数。它们都能实现排序,但有关键区别。 1.…

    2025年12月15日
    000

发表回复

登录后才能评论
关注微信