首页 > 其他分享 >前端基础-数组方法

前端基础-数组方法

时间:2023-08-08 15:46:19浏览次数:48  
标签:返回 arr 数组 前端 元素 value func 方法

数组方法备忘单:

  • 添加/删除元素:

    • push(...items) —— 向尾端添加元素,
    • pop() —— 从尾端提取一个元素,
    • shift() —— 从首端提取一个元素,
    • unshift(...items) —— 向首端添加元素,
    • splice(pos, deleteCount, ...items) —— 从 pos 开始删除 deleteCount 个元素,并插入 items
    • slice(start, end) —— 创建一个新数组,将从索引 start 到索引 end(但不包括 end)的元素复制进去。
    • concat(...items) —— 返回一个新数组:复制当前数组的所有元素,并向其中添加 items。如果 items 中的任意一项是一个数组,那么就取其元素。
  • 搜索元素:

    • indexOf/lastIndexOf(item, pos) —— 从索引 pos 开始搜索 item,搜索到则返回该项的索引,否则返回 -1
    • includes(value) —— 如果数组有 value,则返回 true,否则返回 false
    • find/filter(func) —— 通过 func 过滤元素,返回使 func 返回 true 的第一个值/所有值。
    • findIndex 和 find 类似,但返回索引而不是值。
  • 遍历元素:

    • forEach(func) —— 对每个元素都调用 func,不返回任何内容。
  • 转换数组:

    • map(func) —— 根据对每个元素调用 func 的结果创建一个新数组。
    • sort(func) —— 对数组进行原位(in-place)排序,然后返回它。
    • reverse() —— 原位(in-place)反转数组,然后返回它。
    • split/join —— 将字符串转换为数组并返回。
    • reduce/reduceRight(func, initial) —— 通过对每个元素调用 func 计算数组上的单个值,并在调用之间传递中间结果。
  • 其他:

    • Array.isArray(value) 检查 value 是否是一个数组,如果是则返回 true,否则返回 false

请注意,sortreverse 和 splice 方法修改的是数组本身。

这些是最常用的方法,它们覆盖 99% 的用例。但是还有其他几个:

  • arr.some(fn)/arr.every(fn) 检查数组。

    与 map 类似,对数组的每个元素调用函数 fn。如果任何/所有结果为 true,则返回 true,否则返回 false

    这两个方法的行为类似于 || 和 && 运算符:如果 fn 返回一个真值,arr.some() 立即返回 true 并停止迭代其余数组项;如果 fn 返回一个假值,arr.every() 立即返回 false 并停止对其余数组项的迭代。

    我们可以使用 every 来比较数组:

     
    function arraysEqual(arr1, arr2) {
      return arr1.length === arr2.length && arr1.every((value, index) => value === arr2[index]);
    }
    
    alert( arraysEqual([1, 2], [1, 2])); // true
     
  • arr.fill(value, start, end) —— 从索引 start 到 end,用重复的 value 填充数组。

  • arr.copyWithin(target, start, end) —— 将从位置 start 到 end 的所有元素复制到 自身 的 target 位置(覆盖现有元素)。

  • arr.flat(depth)/arr.flatMap(fn) 从多维数组创建一个新的扁平数组。

  • Array.of(element0[, element1[, …[, elementN]]]) 基于可变数量的参数创建一个新的 Array 实例,而不需要考虑参数的数量或类型。

标签:返回,arr,数组,前端,元素,value,func,方法
From: https://www.cnblogs.com/liqinzhen/p/17614510.html

相关文章

  • 资料分析-方法精讲
    1.比重、平均数、倍数总结 两期比重与两期平均的区别和共同点: 2.增长率问法小结: 3.资料分析所有的方法总结:4.资料分析如何复习? 速算练习1:      速算练习4:    ......
  • 前端实现文件夹的上传和下载
    ​ 以ASP.NETCoreWebAPI 作后端 API ,用 Vue 构建前端页面,用 Axios 从前端访问后端 API,包括文件的上传和下载。 准备文件上传的API #region 文件上传  可以带参数        [HttpPost("upload")]        publicJsonResultuploadProject(I......
  • H7-TOOL的高速DAPLINK用于新版STM32CubeIDE V1.13及其以上版本的超简单实现方法(2023-0
    之前分享了一个方法,太繁琐了,H7-TOOL群的群友提供了一个方法,实现非常简单。1、使用STM32CubeMX或者自己创建一个STM32CubeIDE工程后,设置这两个地方即可: 配置调试器,设置完毕记得点击右下角的Apply2、然后修改这个cfg文件,F407IGTDebug.cfg,注意和第1步cfg是一个文件。修改......
  • visual studio 注释快捷键设置方法
    1.在上方导航栏找到工具->选项2.在环境中找到—>键盘3.搜索注释->行注释4.点击移除5.在下方设置变更为文本编辑器6.点击按快捷键的文本框,然后按下ctrl+/就可以设置快捷键最后点击分配->确定即可。......
  • location常用方法
        ......
  • LIBSVM简介及其使用方法
    LIBSVM简介及其使用方法(台湾大学林智仁(LinChih-Jen)副教授等)libsvm,林智仁libsvm官方网站:WelcometoChih-JenLin'sHomePagehttp://www.csie.ntu.edu.tw/~cjlin/http://www.csie.ntu.edu.tw/~cjlin/libsvm可以在此网站下载相关软件。selecedfrom:支持向量......
  • 电容器的选型方法及步骤简介
    电容器是一种电器元件,由两个金属板组成,中间隔有绝缘材料,可以储存电荷。当两个金属板带有相反的电荷时,电容器就会储存电能。电容器的基本单位是法拉,用字母F表示。电容器在电路中可以起到滤波、旁路、耦合、调谐等作用。不同类型的电容器有不同的特性,例如电解电容器的储存电荷能力较......
  • 银河麒麟等 Linux系统 安装 .net 5,net 6及更高版本的方法
    最近项目上用到银河麒麟的操作系统,需要搭建.net跨平台方案。一开始使用各种命令都安装不上,很多提示命令找不到,或者下载包时候网络无法下载。网上教程很多,但没有一个是成功的,多数使用apt-get等命令,都报错,提示命令未找到。于是开始手动安装。最终发现还是在Windows官网给出......
  • 火山引擎DataLeap数据质量动态探查及相关前端实现
    更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群需求背景火山引擎DataLeap数据探查上线之前,数据验证都是通过写SQL方式进行查询的,从编写SQL,到解析运行出结果,不仅时间长,还会反复消耗计算资源,探查上线后,只需要一次探查,就可以得到整张表的......
  • 记一个问题:为什么 Redis get 方法时间复杂度官网标称 O(1)
    事情源自于上一篇文章:Redis数据结构-字典dict在学习到dict结构会用来维护redis数据库时,联想到redis的get方法底层一定会访问dict来查找键值。本质上还是查找hash,那么既然会查找hash,redis又是采取拉链法来解决hash冲突,那当访问的哈希桶是一个链表时,不就会出......