![9310de56fde97ee612e0f3cff446de06.png](https://i-blog.csdnimg.cn/blog_migrate/05e6404af577a8d9d7293cb159368981.jpeg)
数组一直是js中最重要的数据类型之一,其有很多属性和方法,包括常用的和不常用的,难以记忆,本文从增删改查四个基本操作入手,帮助大家更快记忆。
一 数组的属性
1 length属性
length属性是数组最重要的属性,没有之一,length属性告诉我们这个数组内有多少个数据元素,当length=0时说明数组时一个空数组。我们想要遍历数组时可以直接将遍历的终点设为 length-1。
二 数组的方法
这是本文的重点,我们从增删改查方面入手,梳理方法的作用和用法,有利于记忆和使用
1 增
常规方法
![31993dbf932f27a8be65cb7f06ba0411.png](https://i-blog.csdnimg.cn/blog_migrate/436890a758195d070e549fe1882a247b.jpeg)
非常规方法
![98f5a1e3aa8fe16e6f2828b83fa78ed9.png](https://i-blog.csdnimg.cn/blog_migrate/ccd0a963f18e4ec130cf891176ea3cdf.jpeg)
注意:使用concat()方法后,arr1,arr2,arr3自身不发生变化,其返回的是一个全新的数组,要想完成增的操作,我们可以使用如下代码(将新数组赋值给arr1)
arr1=arr1.concat(arr2,arr3,...)
2 删
常规方法
![4c294fa2e77958557252850b0d8c08e3.png](https://i-blog.csdnimg.cn/blog_migrate/31c4923f133232a5956462f4dae14aef.jpeg)
注意:括号内填写内容均无效。
非常规方法
![b245bfa9ba5ba3c60a292ab63da9644b.png](https://i-blog.csdnimg.cn/blog_migrate/4dac72100033beb2a693e6dcbabbe12f.jpeg)
注意:使用concat()方法后,arr数组不发生变化,其返回的是全新的数组,要想完成减的操作,我们可以使用如下代码(将新数组赋值给arr)
arr = arr.slice(1,2)
3 改
常规方法
cars[2] = "kkk" (直接将指定位置元素重新赋值)
非常规方法
![0fb64ee9abd466b823be56938f9df530.png](https://i-blog.csdnimg.cn/blog_migrate/c01def2cbaf83240caa581b7f88dd307.jpeg)
其中copyWithin()和fill()方法均为ES6的新方法,下面我们详细说以下这两个方法的用法
//copyWithin()使用var arr =[0,1,2,3,4,5,6]arr.copyWithin(3) // [0, 1, 2, 0, 1, 2, 3]arr.copyWithin(3,4) // [0, 1, 2, 4, 5, 6, 6]arr.copyWithin(0,2,5) //[2, 3, 4, 3, 4, 5, 6]//fill()使用var arr = [0,1,2,3,4,5,6]arr.fill("b") //["b