前端知识总结-------数组篇

数组的常用方法

总结了js中数组的一些的常用方法,非常全的o☀️,大家可以参考一下,觉得有用的话可以收藏一下❤️

  • 数组特点
  • 数组是一种特殊的数据结构,用于储存一组数据的集合(即可以用一个变量储存多个数据)
  • 数组中的数据是有顺序的,吗,每一项数据都有自己的索引值,索引值是从0 开始的
  • 数组是一种特殊的对象,因此对象的方法数组也有

js创建数组的方法

  • 直接字面量
var arr = [1,2,3,4];
  • 构造器构造
var arr = new Array(1,2,3,4);  // arr = [1,2,3,4];

var arr1 = new Array(10);   // arr1 = [empty*10];

var arr2 = Array(1,2,3,4); //arr2 = [1,2,3,4]
  • Array.of
var a = Array.of(3,11,8);  // [3,11,8];

var a = Array.of(3); //[3];
  • Array.from
var obj = {
0 : 1,
1 : 2,
2 : 3,
length : 3
};;
var arr = Array.from(obj); // arr = [1,2,3];

以上方法的特点:

  • 构造器构造的数组,如果构造函数的参数传递一个数字代表的是数组的数组的长度,数组每一项默认为empty
  • Array.of 是返回所有参数组成的数组
    ,如果没有参数则返回一个空数组。Array出现的目的是为了解决构造器中因参数个数不同,导致的行为差异的问题。
  • Array 是将类数组转换为数组的方法。

数组的的常用方法

添加数组的方法

  • push 在数组的最后插入数据

  • unshift 在数组的最前面插入数据

  • splice 在数组的中间替换数据
    (targetIndex , deleteLength,insertData )
    (插入/删除/替换数据的位置,删除数据的长度,要在这个位置上插入的数据)
    如果传递一个参数,代表删除数据,从该位置开始删除把后面的数据全部删除

  • 直接赋值

删除数组的方法

  • pop
  • unshift
  • splice
  • 修改数组的的长度

修改数组的方法

  • splice
  • 直接赋值 arr[index] = targetData

数组遍历的方法

es5

  • forEach
  • map
  • filter 返回所有符合条件的数据(组成新数组)
  • every 判断所有项是否符合条件 如果是返回true 否则返回false
  • some 判断是否存在符合条件的项 如果存在返回true 否则返回true
  • reduce (function (prevData.current,index,self){},initValue)
    preveData: 代表上一次执行 function 的返回值
    如果是第一次执行 function 那么它的值为initValue
    current:代表当前执行 function 的时候,遍历到数组当中的那个数据
    index 代表当前数据的索引值
    self 代表当前便利的数组是哪个

es6

  • find (function(){return 找到数据的条件}); 查找数组中第一个符合条件的数据
  • findIndex (function(){return 找到数据的条件}) 查找数组中第一个符合条件的数据的索引值
  • keys () 返回索引值的集合
  • values() 返回所有值的集合
  • entries() 返回所有key和value值的集合 二维数组

其他方法

数组中查找数据的方法

  • indexOf() 查找数据是够存在当前数组中,如果是的话返回所在位置的索引值,如果不在的话返回 -1
  • lastIndexOf() 和 indexOf 功能相同,区别是从后往前查找

合并数组的方法

  • cocat() 合并多个数组,且不是改变原数组
  • es6 扩展运算符 ‘…’
var a = [1,2,3,4];
var b = [0,5...a,7]; // b = [0,5,1,2,3,4,7];

数组排序

  • sort(function(a,b){return > 0 代表a,b 不交换位置, < 0 代表交换位置,会改变原数组})

数组拼接成字符串的方法

  • join
  • toString
  • toLocalString

数组翻转

  • reverse 数组反转 ,会改变原数组

判断数组是否包含某个数据

  • includes 包含返回true ,不包含返回false

截取数组中部分连续数据

  • slice (start,end) 在不修改数组的情况下,截取部分连续的数据

填充数组

  • fill(value,start,end) 填充数组中聪start 到 end索引值的数据为value

复制数组中某段连续的数据到某个位置

  • copyWinhIn(targetIndex,start,end) 将数组中的start索引值到end索引值复制一遍到targetIndex位置开始连续的几个数据处
    会改变原数组

以上方法中改变数组的方法

push,pop ,shift,unshift,splice,sort,reverse,copyWthin,fill

以上方法中不改变数组的方法

slice,jion,concat,indexOf,lastIndexOf,includes,tostring,toLocalString

哪里有我理解的不对的,或者写错的地方,还劳烦小伙伴们你帮我指出来😗⭐️⭐️⭐️

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值