当前位置:网站首页 > R语言数据分析 > 正文

数组方法pop(数组方法filter)



数组共包含33个标准API方法和一个非标准的API方法,使用场景和使用方案纷繁复杂。未来便于学习,将数组分为三类:

  • 改变自身值
  • 不改变自身值
  • 遍历方法

改变自身值的数组方法

会改变自身值的数组方法有9个:pop、push、shift、unshift、splice、sort、reverse、copyWithin、fill。

熟悉Vue2.x源码的同学会觉得眼熟,没错,前7个方法正是Vue2.x版本中通过拦截数组原型而重写的数组方法,需要牢记哦。下面开始了解这些数组方法的用法。

pop方法

pop方法的作用是从数组的尾部弹出最后面的一个元素并修改数组长度,返回值就是被弹出的元素

 
push方法

push方法的作用与pop方法正好相反,用于将新元素填充在数组尾部成为新的最后一个元素,并修改数组长度,返回值是数组的新长度

 
shift方法

shift方法的作用是从数组的头部弹出第一个元素并修改数组长度,返回值就是被弹出的元素

 
unshift方法

unshift方法的作用与shift方法正好相反,用于将新元素填充在数组头部成为新的第一个元素,并修改数组长度,返回值就是数组的新长度。

 
splice方法

splice方法的作用有三种不同的情形:

  • 删除元素
  • 替换现有元素
  • 原地添加新元素
 

splice有三个参数:

  • start 要修改的开始位置(从0开始)
    • 如果start大于数组长度,则从数组末尾开始添加内容
    • 如果start是负值,则表示从数组末位开始的第几位(从 -1 开始计算,等价于array.length - n)
    • 如果负数绝对值大于数组长度,开始位置从第0位计算
  • deleteCount 要移除元素的个数
    • 如果deleteCount大于start之后的元素个数,则从start之后元素都将删除(包含下标为start的元素)
    • 如果deleteCount省略未写或者值大于等于array.length - start,则start之后的数组元素都会被删除(不包括第start个元素)
    • 如果deleteCount是0或者负数,则不移除元素。但至少应添加一个新元素。
  • item1,item2,… 要添加数组的元素
    • 从start位置开始添加。如果不指定,则表示只删除元素。
 
sort方法

sort方法的作用是对数组元素进行排序,并返回新数组。默认情况是将元素转换为字符串依照UTF_16代码排序。

 

sort方法可以不写参数,即为按照默认情况排列;参数为指定排列顺序的函数。

函数返回值为a-b时,按照升序排列

函数返回值为b-a时,按照降序排列

 
reverse方法

reverse方法的作用是将数组中元素的位置颠倒并返回数组。

 
copyWithin方法

copyWithin方法的作用是浅拷贝数组的一部分到同一数组的另一个位置,并返回数组。不会改变数组长度

 
  • target 被拷贝元素填充的开始位置
    • 如果为负数,将从末尾开始计算
    • 如果大于等于length,将不会发生拷贝填充
    • 如果target在start之后,复制的序列将会被调整以符合length不变的特点
  • start 开始复制元素的起始位置
    • 如果为负数,将从末尾开始计算
    • 如果被省略不写,则将从下标为0的位置开始复制
  • end 开始复制元素的结束位置
    • 如果为负数,将从末尾开始计算
    • 复制元素的内容不包括下标为结束位置的元素
    • 如果省略不写,则表示复制从start之后的所有元素
 
fill方法

fill方法的作用是用一个固定值填充一个数组中从起始索引到结束索引的全部元素,但不包括结束索引

 
  • value 用来填充数组元素的值
  • start 起始索引,默认为0
  • end 终止索引,默认为this.length
 

不改变自身值的数组方法

不改变自身值的数组方法也有9个:concat、join、slice、toString、toLocalString、indexOf、lastIndexOf、toSource、includes

concat方法

concat方法用于合并两个或多个数组。不会修改原数组且返回一个新数组

 
  • value 可以是数组或普通值
    • value有值时,会被合并到一个新数组中
    • value被省略时,会返回现存数组的一个浅拷贝
 
join方法

join方法用于将数组或类数组的元素连接成字符串并返回改字符串。

 
  • sep 用来分隔数组元素的分隔符,类型为字符串
    • 如果sep被省略,默认使用逗号分隔
    • 如果sep为空字符串,则元素之间没有字符
 
slice方法

slice方法用于创建并返回一个有begin和end决定(包括begin不包括end)的原数组的浅拷贝的数组

 
  • beigin 起始索引,从该索引处开始提取数组元素
    • 如果begin为负数,则从数组的倒数第几个元素开始提取
    • 如果begin被省略,则索引从0开始
    • 如果begin超出原数组范围,则会返回空数组
  • end 终止索引,在该索引处终止提取元素
    • 如果end为负数,则从数组的倒数第几个元素结束提取
    • 如果end被省略,则一直提取到数组结尾
    • 如果end大于数组长度,也会提取到数组结尾
 
toString方法

toString方法用于将数组转换为字符串,内容为数组元素,分隔符为逗号

 
toLocalString方法

toLocalString方法与toString方法类似,都是将数组转换为字符串,内容为数组元素,分隔符为逗号。

但是toLocalString方法不同的一点在于如果数组元素为日期类型则转换结果不同。

 
indexOf方法

indexOf方法用于在数组中从前往后查找给定元素的第一个索引并返回,如果不存在则返回-1.

 
  • srele 要查找的元素
  • fromIndex 开始从前往后查找的位置
    • 如果数值大于或等于数组长度,将不回在数组里查找,返回-1
    • 如果数值为负值,则从 新值= arr.length+负数 开始查找,如果新值小于0,仍从数组开头开始查询
 
lastIndexOf方法

lastIndexof方法用于在数组中从后往前查找给定元素的最后一个索引并返回,如果不存在就返回-1

 
  • srele 要查找的元素
  • fromIndex 开始从后往前查找的位置
    • 如果数值大于或等于数组长度,将不回在数组里查找,返回-1
    • 如果数值为负值,则从 新值= arr.length+负数 开始查找,如果新值小于0,仍从数组开头开始查询
 
toSource方法

toSource方法是非标准的,尽量不要在生产环境使用。

toSource方法用于查看数组内容

 
includes方法

includes方法用于判断数组是否包含指定的值,包含则返回true,否则返回false。

 
  • valueToFind 需要查找的元素值
  • fromIndex 开始查找的索引,默认为0
    • 如果为负值,则按升序从arr.length+fromIndex的索引开始搜。
 
数组遍历的方法

不会改变自身的数组遍历方法有12个:forEach、filter、map、reduce、reduceRight、ervery、some、find、findIndex、keys、values、entries

forEach方法

forEach方法对数组的每个元素指定一次给定的函数,返回值为undefined

 
  • curValue 数组当前处理的元素值
  • index 数组当前处理的元素的索引
  • array 数组
  • thisArg 执行给定函数时用作this的值
 
filter方法

filter方法创建一个新数组,包含通过给定函数处理的所有元素,有返回值

 
  • element 数组当前处理的元素值
  • index 数组当前处理的元素的索引
  • array 数组
  • thisArg 执行给定函数时用作this的值
 
map方法

map() 方法创建一个新数组,其结果是该数组中的每个元素是调用一次提供的函数后的返回值

 
 
reduce方法

reduce方法对数组中的每个元素执行一个reducer函数(升序执行),将其结果汇总为单个返回值。

 
  • accumulator 累计器累计回调的返回值; 它是上一次调用回调时返回的累积值。
  • currentValue 数组中正在处理的元素
  • index 数组正在处理的元素的索引
    • 如果提供 initialValue,则起始索引号为0,否则从1开始
  • array 调用方法的数组
  • initialValue 作为第一次调用回调函数时的第一个参数的值
    • 如果没有提供初始值,则使用数组中第一个元素。
    • 如果没有初始值且为空数组,则会报错
 
reduceRight方法

reduceRight方法与reduce方法功能相同,只是处理元素的顺序相反(从右到左)

 
ervery方法

every方法测试一个数组内的所有元素是否都能通过某个指定函数的测试。它返回一个布尔值。

 
 
some方法

some方法测试数组中是不是至少有1个元素通过了被提供的函数测试。它返回一个布尔值。

 
 
find和findIndex方法

find方法返回数组中满足提供的测试函数的第一个元素的值。否则返回 。

findIndex方法返回数组中满足提供的测试函数的第一个元素的索引。若没有找到对应元素则返回-1。

 
 
keys和values方法

keys方法返回一个包含数组中每个索引键的Array Iterator对象。

values方法返回一个新的 对象,该对象包含数组每个索引的值

 
 
entries方法

entries方法返回一个新的Array Iterator对象,该对象包含数组中每个索引的键/值对。

 
到此这篇数组方法pop(数组方法filter)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!
                            

版权声明


相关文章:

  • cruise安装包(cruise安装包百度云)2025-01-25 22:54:07
  • conv2d参数解释(conv2d stride)2025-01-25 22:54:07
  • 启动docker的命令(docker开机启动命令)2025-01-25 22:54:07
  • ldr指令和str指令(ldrsb指令)2025-01-25 22:54:07
  • swagger查看(怎么查看swagger地址)2025-01-25 22:54:07
  • spring教程视频(spring教程 csdn)2025-01-25 22:54:07
  • redhat enterprise需要激活吗(redhat license)2025-01-25 22:54:07
  • druid连接池配置文件(druid连接池jar包)2025-01-25 22:54:07
  • pointnet++代码详解(pointpillars代码)2025-01-25 22:54:07
  • no switchport命令(noswitchport命令如何取消)2025-01-25 22:54:07
  • 全屏图片