javascript操作数组的方法

一、了解数组

数组是一个引用数据类型,它是一个可以存储任意数据类型的容器。它有一个length 属性表示数组里面成员的个数,想要获取数组里的成员需要使用到数组的下标又叫做索引,他的索引从0开始到length-1结束,array[0]表示第一个成员,array[length-1]表示最后一个成员。

 二、定义一个数组

1.字面量创建

var arr = []

2.内置构造函数创建

let arr = new Array()

使用此方法创建数组时可以传递参数

传递一个参数的时候  表示定义一个长度为这个参数的数组  

传递多个参数的时候  没有参数表示长度了 参数一一对应的作为数组的

 三、数组的常用方法

1.push

作用:在数组的最后面添加一项

 语法: arr.push(值)

返回值: 新数组的长度

原数组: 改变了 新增了一项

2. pop  

作用:删除数组的最后一项

语法: arr.pop()

返回值: 删除的那一项

原数组: 改变了 删除后的数组

3. unshift  

作用:在数组的最前面增加一项

语法: arr.unshift(值)

返回值: 新数组的长度

数组: 增加后的数组 改变了

 4. shift     

作用:删除数组的第一项

语法: arr.shift

返回值: 删除的那一项

原数组: 改变了 删除后的数组

5. splice 

 作用:可以删除、截取、替换

语法: arr.splice(开始的索引,截取的项目,替换1,替换2,...)

返回值:  

       如果只有一个参数的时候 表示从这个参数开始一直截取到数组的最后面

        截取的项组成的数组

        第二个参数表示截取的项目

         如果有第三个参数或者更多 那么相当于替换 (替换的第一值要占用开始的索引)

原数组: 改变了,剩下的和插入的组成数组

6.slice   

作用:截取

语法: arr.slice(开始的索引,结束的索引)

注意: 1.包前不包后

           2.结束的索引可以是负数 表示截取到倒数的位置

返回值:截取的项组成的数组

原数组:原数组不改变

 7. join    

作用:把数组里面值 用符号连接起来变成字符

语法:arr.join()

没有传递参数的时候 默认以","连接

传递参数 那么就以这个参数连接

返回值:  字符串

原数组: 没有变化

8.reverse   

作用: 反转数组

 语法:arr.reverse()

返回值:  反转后的数组

原数组:  反转后的数组

9.concat   

作用:连接两个数组

语法:arr1.concat(arr2)

返回值:  新的数组

原数组:   没有变化

四、ES5数组得高级用法

1. indexOf()

作用: 根据值查找对应的索引  从左到右依次查找

语法: arr.indexOf(查找的值,开始的索引)

返回值:

        果能找到对应的值  那么返回当前项的索引

        如果找不到对应的值  返回  -1

2. lastIndexOf

作用: 根据值查找对应的索引  从右到左依次查找

语法: arr.lastIndexOf(查找的值,开始的索引)

返回值:

        如果能找到对应的值  那么返回当前项的索引

       如果找不到对应的值  返回  -1

 3. forEach    

 遍历数组

 语法: arr.forEach(function(item,index,arr){

                   item // 表示数组的每一项

                   index // 表示每一个索引

                   arr  // 表示原数组      

           })

 返回值:没有返回值

4. map  

作用:遍历数组

语法: arr.map(function(item,index,arr){                             

           })

返回值: 返回一个长度和原数组长度一样的新数组  里面的值是遍历的时候return 后面的计算结果

5.filter

作用:过滤

语法:arr.filter(function(item,index,arr){})

返回值:是一个新数组

               满足return 后面的表达式的项组成的数组

6. some

作用:只要有一项满足条件 那么就直接停止遍历 然后返回true,所有的都不满足 那么返回false, 不写判断条件 返回false

语法: arr.some(function(item,index,arr){})

返回值:返回布尔值 (true/false)

7. every

作用:所有的都满足 才会返回true,只要有一个不满足 那么直接停止遍历 然后返回false,不写判断条件 返回false

语法:arr.every(function(item,index,arr){})

返回值:返回布尔值  (true/false)                +

8. reduce  

作用:求和

语法:arr.reduce(function(result,item,index,arr){

              // 如果有初始值 那么第一个result 就是初始值 后面的每一次遍历的result 都是前一次返回的结果

              // 如果没有初始值 那么第一个result 就会是数组的第0项默认遍历出来的结果      

             },初始值)

返回值:就是最后一次遍历return 返回的结果  

五、扩展

1.把伪数组转化为真正的数组

语法:Array.from(伪数组)

返回值:真正的数组

2.Set

作用:是一个类似数组的数据结构,每一个成员都是唯一的,可以用来进行数组去重

语法: var 变量 = new Set(数组)

            size 表示成员个数

            方法: 它自己有一些方法

             1. add  : 添加

             2. has  : 判断有没有这个成员  返回布尔值

             3.delete: 删除单个成员  ,返回值是布尔值

             4.clear:清空所有成员

3.findIndex  

作用:查找满足条件的项的索引,找到第一个满足就停止查找

语法: 数组.findIndex()               

返回值:有满足的返回对应的索引,没有满足的返回 -1

4.find  

作用:查找满足条件的项,找到第一个满足就停止查找

语法:数组.find()           

返回值:有满足的返回对应的项,没有满足的返回undefined

5.isArray  

作用:判断是不是数组

语法:Array.isArray(判断的东西)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值