数组简述

1.数组的定义  伪数组的转换

  •  const  arr = new Array(1,2,3,4)
  •  const  arr = [11,2,3,4]
  • const  arr1 = new Array(3)标识创建一个长度为3的数组,数组内的元素未赋值的话都会是undefined(new Array存在一个小小的缺陷)

因此有一种新的创建数组的方式

  • const arr = Array.of(3)

  • const arr = Array.from()    Array.from() 方法从一个类似数组或可迭代对象创建一个新的,浅拷贝的数组实例。

Array.from(想要转换成数组的伪数组对象或可迭代对象,如果指定了该参数,新数组中的每个元素会执行该回调函数,可选参数,执行回调函数 mapFn 时 this 对象)有3个参数,后两个参数为可选的,

Array.from(obj, mapFn, thisArg) 就相当于 Array.from(obj).map(mapFn, thisArg)

2.数组的检验

Array.isArray()  

3.数组转换为字符串 (有时候给后台传参数的时候,需要将一个数组转换为字符串)

  • .toString()

  • String()

  • join()

 4.字符串转换为数组

  • .split()

        

  • Array.from(),使用这个方法能转换成数组是因为,字符串本身有length这个属性
  • 展开语法

      

 5.追加数据

  • push()

          

  • 展开语法

以上两种都是从后边追加数据 

  • unshift()是从前边追加数据

push,unshift都返回追加数据后的新数组的长度length

  • 可以从中间追加元素 .fill()

 

 

6.数组的截取

  • pop() 从数组的末尾开始移除数据

  • shift()  丛数组的最前边移除数据

 

  • slice() 从中间截取,截取会返回新的数组,原数组不发生改变。参数传1个,标识从索引下表开始到数组结束的长度

传2个参数,表示起始位置.(规则为:含头不含尾)

  • 全能方法:splice()

当传入1个参数时:为截取,从传入的下标开始截取数据,返回值为,被截取掉的数据

当传入2个参数是,为截取的起始位置,这个一般用于删除数组中的某些元素,很是方便

当传入3个参数时。

(1)第二个参数不为0时,可以理解我数据替换,从截取的起始位置开始替换数据,替换数据为第三个参数

           

(2)第二个参数为0时,表示添加数据。从第一个参数索引下标对应的位置开始添加数据

举例:数组中数据的移动

function move(array,from,to){
    let newArray = [...array]
    let item = newArray.splice(from,1)
    newArray.splice(to,0,...item)
    return newArray

}
move([1,2,3,4],2,3)   // [1, 2, 4, 3]

 

7.数组的循环:for循环、for---in、for---of

番外:for for---in  for---of区别

               

for---in循环的是索引   for---of循环的是元素

  • 迭代器

 

 8.数组的查找  相关文档很多,就不做详细解释了 https://es6.ruanyifeng.com/#docs/array

  • indexOf()
  • lastIndexOf()
  • includes()
  • find()
  • findIndex()
  • every()
  • some()
  • filter()
  • map()
  • reduce()

9.数组排序

  • sort()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值