数组的方法

由于数组很常用,数组上会自带很多的方法,提供给我们用于操作数组,这些方法都已经实现好了,我们只管去调用它即可

(是数组的方法,就只能是数组才可以调用)

1. push()方法

作用:在数组的末尾增加项

参数:要加入的项

返回值:新增项目后数组的长度

2. unshift()方法

作用:在数组的开头增加项

参数:要加入的项

返回值:新增项目后数组的长度

3. pop()方法

作用:在数组的末尾删除一项 (固定就删数组末尾的那一个)

参数:没有参数

返回值:被删除的那一项

4. shift()方法

作用:在数组的开头删除一项

参数:没有参数

返回值:被删除的那一项

5. splice()方法

在数组的任意一个位置增加或删除或修改

参数:1.开始的索引 2.要删除几项  3.要加入的那一项

 删除

Var ary = [2,4,5,43,5,22,3,5]  ary.splice(4,3) [2,4,5,43,5] -> [5,22,3]

ary.splice(n,m)   

从索引n开始,删除m个项 ,把删除的项以一个新的数组返回,原数组改变            

       Ary.splice(n)  从索引n开始,删除后面所有的项 

       Ary.splice(0)  把数组从开头删到结尾(把原数组删完了),返回值就是包含原数组所有项的数组,相当于 清空原数组克隆一份新数组 

       Ary.splice()   数组中一个都没有删除,返回一个空数组

修改

Var ary = [2,4,5,43,5,22,3,5]

       ary.splice(n,m,x)  ary.slice(1,4,100)  [2,100,22,3,5]

       从索引n开始,删除m个项,把x这一项替换到被删除项的位置

增加

Var ary = [2,4,5,43,5,22,3,5]

       ary.splice(n,0,x)  ary.splice(5,0,666)  [2,4,5,43,5,666,22,3,5]

       从索引n开始,删除0个项,把x这一项放到索引n的前面

把删除的项以一个新的数组返回,原数组改变

 

6.slice()方法(不会改变原数组)

作用:从数组中拷贝出指定的项

参数:1.开始的索引 2.结束的索引

返回值:一个数组,把所有拷贝到的项装到这个数组中

改变原数组:不会

          Var  arr = [2,4,6,8,10]

          var  newArr = arr.slice(1,4)

         从索引1开始拷贝,一直拷贝到索引4处,但不包括索引3,返回[4,6,8]

           在不传参: var  newArr = arr.slice(), 返回 [2,4,6,8,10] ,完整拷贝

           传一个参数:var  newArr = arr.slice(0),返回 [2,4,6,8,10] ,完整拷贝

          传一个参数:var  newArr = arr.slice(2),返回 [6,8,10]

 

7.concat()方法(不会改变原数组)

作用:把两个(多个)数组拼成一个新数组

参数:要拼接的组数(也可以数字,字符串...)

返回值:拼好的一个新数组

Var arr1 = [3,5,7]

Var arr2 = [2,4,6]

基本的应用

var newarr  = arr1.concat(arr2)  --> [3,5,7,2,4,6]

 

8.toString()方法(不会改变原数组)

作用:把数组转成一个字符串

参数:没有参数

返回值:转好的字符串

var  arr = [2,4,6,8,10]

Console.log(arr.toString())  --> “2,4,6,8,10”

 

9.join()方法(不会改变原数组)

作用:把数组按指定的“分隔符”转成一个字符串

参数:“分隔符”,可以是任意的字符,如:+,|,””,abc,!@#$

返回值:转好的字符串

Var  arr = [2,4,6,8,10]

console.log(arr.join( ))  --> “2,4,6,8,10”

console.log(arr.join(“”))  -->”246810”

console.log(arr.join(“|”))  -->”2|4|6|8|10”

console.log(arr.join(“+”))  -->”2+4+6+8+10”

用全局提供的一个方法eval( ):把一个字符串转成一个表达式

   console.log(eval(arr.join(“+”)))  -->30

 

10. indexOf()/lastIndexOf()方法(不会改变原数组)

作用:按指定的值查找它的索引

参数:一个值

返回值:对应的索引 

Var  arr = [2,4,6,8,10,12]

Console.log(arr.indexOf(6));

从数组的左边开始在数组中找到6这个值对应的索引; --> 2

Console.log(arr.lastIndexOf(6));

从数组的右边开始在数组中找到6这个值对应的索引;--> 2

Console.log(arr.indexOf(9));

从数组的左边开始在数组中找到9这个值对应的索引;-->  -1

 

如果在个值在数组中不存在 会返回 -1,我们可以通过这个特性,来判断一个值在不在一个数组中。

 Var  class = [“小明”,”小白”,”小黑”]

 If(class.indexOf(“小乔”)== -1){

   Console.log(“我们班没有小乔这个人”)

}

 

var  arr = [2,4,6,8,10,6,12]

我们可以利用indexOf()/lastIndexOf()一起,来判断一个值在数组中是不是唯一的

Console.log(arr.indexOf(6))  -->2

Console.log(arr.lastIndexOf(6))  --> 5

 

If(arr.indexOf(6) == arr.lastIndexOf(6) ){

Cosole.log(“在这个数组中只有一个6,6是唯一的”)

}else{ console.log(“6不是唯一的”)}

 

 

11. includes方法(不会改变原数组)

作用:判断数组中是否包含某个值

参数:1.一个值 2.开始找的索引

返回值:true/false

 

Var  arr = [2,4,6,8,10,12]

console.log(arr.includes(6)); 判断在数组中是否包含6,返回 --> true

console.log(arr.includes(9)); 返回 --> false

console.log(arr.includes(6,4));  从索引4开始,找6,返回 --> false

 

12.reverse()方法

作用:把数组倒过来

参数:没有参数

返回值:倒过来的数组

Var  arr = [32,6,99,2,7]

console.log(arr.reverse()) -- > [7,2,99,6,32]

 

13. sort()方法

作用:给数组排序

参数:是一个函数

返回值:排好的数组

var arr = [13,5,100,28,92,39]

            console.log(arr.sort(function(a,b){return a-b}))  //由小到大

            console.log(arr.sort((a,b)=>a-b)) 

 

 

 

posted @ 2020-11-10 10:05  离曈  阅读(326)  评论(0编辑  收藏  举报