数组的常用方法

数组的常用方法

(内置方法:直接使用,只需按要求传递对应的参数)

1、join(连接字符)

作用是将数组中的元素通过给定的连接字符连成一个字符串

var arr = [1,2,3,4];
        let a = arr.join('*');
        console.log(a);//1*2*3*4

2、push(值/变量)

从数组的末尾向数组添加元素

 var arr = [12, 23, 26, 45, 58, 60];
        arr.push(88);
        console.log(arr);//[12, 23, 26, 45, 58, 60, 88]

3、pop()

从数组的末尾删除元素,一次只删除一个,返回的是被删除的元素。无需传参

var arr = [12, 23, 26, 45, 58, 60];
        let b = arr.pop();
        console.log(b);//60

4、shift()

从数组的首部删除元素

var arr = [12, 23, 26, 45, 58, 60];
        let c = arr.shift();
        console.log(c);//12
        let d = arr.shift(1);//参数代表元素下标
        console.log(d);//23---返回被删除的元素的值
        let e = arr.shift(1,2);
        console.log(e);//26
 var arr = [12, 23, 26, 45, 58, 60];
        arr.shift(12);
        console.log(arr);//[23,26,45,58,60]

5、unshift(值/变量)

从数组的首部插入元素

var arr = [12, 23, 26, 45, 58, 60];
        arr.unshift(1);
        console.log(arr);//[1, 12, 23, 26, 45, 58, 60]
 var arr = [12, 23, 26, 45, 58, 60];
        arr.unshift(35);
        console.log(arr);//[35, 12, 23, 26, 45, 58, 60]

6、sort()

排序函数。默认的是从小到大。若需要降序排序,需要自己写比较函数。它是在原数组上排序

数字:0 1 2 ...... 9

数字字符:'0','1'.....'9'

'0'的ASCII码值是48

' ' --- 32

'a' --- 97

'A' --- 65

 var arr = [12, 23, 26, 45, 58, 60];
        arr = arr.sort();
        console.log(arr);
//Array(6)0: 12
//1: 23
//2: 26
//3: 45
//4: 58
//5: 60
//length: 6
//[[Prototype]]: Array(0)
​

7、reverse()

将数组元素颠倒顺序

 var arr = [8,10,20,47,58,99];
        arr.reverse();
        console.log(arr);//[99, 58, 47, 20, 10, 8]

8、concat()

连接两个或多个数组

 var a = [1,2,3];
        var b = [10,20,30];
        var c = a.concat(b);
        console.log(c);
//Array(6)0: 1
//1: 2
//2: 3
//3: 10
//4: 20
//5: 30
//length: 6
//[[Prototype]]: Array(0)
      

9、slice()

切片函数:从原数组中截取部分元素组成新的数组。在截取时需要指定开始位置(开始下标)和结束位置(结束下标)

var arr = [1, 3, 5, 7, 9, 11]
​
        var a1 = arr.slice(1) //'1'是下标,表示从下标为1的位置开始到数组末尾全部截取
​
        console.log(a1)//3,5,7,9,11
​
        var a2 = arr.slice(1, 3) //截取下标1~3之间的元素,包含下标为1的元素,不包含下标为3的元素
​
        console.log(a2)//3,5
​
        var a3 = arr.slice(1, -2) //等价于slice(1,3),-2不是下标,表示倒数第二个元素
​
        console.log(a3)//3,5,7
​
        var a4 = arr.slice(-4, -2) //截取倒数第四个元素~倒数倒数第二个元素之间的元素
​
        console.log(a4)//5,7

10、splice()

可以实现对数组元素的插入、删除和替换

(1)删除元素:

//splice(参数1,参数2):返回的删除的元素。第一个参数代表下标,第二个参数表示删除的项数。
​
var arr = [1, 3, 5, 7, 9, 11]
        var a5 = arr.splice(1, 3) //删除从下标1开始的连续3个元素
​
        console.log(a5)//[3,5,7]
​
        console.log(arr)//[1,9,11]

(2)替换/插入元素:

splice(参数1,参数2,参数3):

参数1:表示替换位置

参数2:表示项数(非零为替换,0表示插入)

参数3:用于替换的新值

var arr = [1, 3, 5, 7, 9, 11]
        arr.splice(1, 1, 89) //替换
        console.log(arr)//[1, 89, 5, 7, 9, 11]
        arr.splice(1, 0, 78) //插入
        console.log(arr)//[1, 78, 89, 5, 7, 9, 11]
  var arr = [1,2,3,4,5];
        arr.splice(3,1,79);
        console.log(arr);//[1,2,3,79,5]
​
        arr.splice(3,0 ,99);
        console.log(arr);//[1,2,3,99,79,5]

11、indexOf(元素)

从数组的开头(位置0)开始向后查找

从左向右查找元素的位置。返回元素在数组中的下标(索引),返回-1表示没有找到

              ```javascript

var arr = [10,25,33,11,89] var index1 = arr.indexOf(12) //从左往右查找,返回找到的第一个12的下标 console.log(index1)//-1

var a1 = [11,22,55,33,44,55]; var index1 = a1.indexOf(22); var lastIndex1 = a1.lastIndexOf(44); console.log(index1);//1 console.log(lastIndex1);//4

    var index2 = a1.indexOf(66);
    console.log(index2);//-1
​
    var index3 = a1.indexOf(55);
    console.log(index3);//2
              ```

12、lastIndexOf(元素)

从数组的末尾开始向前查找

从右向左查找元素的位置。返回元素在数组中的下标(索引),返回-1表示没有找到

 var arr = [12, 25, 33, 12, 89]
        var last_index = arr.lastIndexOf(12)
        console.log(last_index)//3
        var lastIndex2 = arr.lastIndexOf(66);
        console.log(lastIndex2);//-1
​
        var lastIndex3 = arr.lastIndexOf(12);
        console.log(lastIndex3);//3
var arr = [1,2,3,4,5];
        arr.splice(3,1,79);
        console.log(arr);//[1,2,3,79,5]
​
        arr.splice(3,0 ,99);
        console.log(arr);//[1,2,3,99,79,5]
​
        var a1 = [11,22,55,33,44,55];
        var index1 = a1.indexOf(22);
        var lastIndex1 = a1.lastIndexOf(44);
        console.log(index1);//1
        console.log(lastIndex1);//4
​
        var index2 = a1.indexOf(66);
        console.log(index2);//-1
​
        var index3 = a1.indexOf(55);
        console.log(index3);//2
​
        var lastIndex2 = a1.lastIndexOf(66);
        console.log(lastIndex2);//-1
​
        var lastIndex3 = a1.lastIndexOf(55);
        console.log(lastIndex3);//5

13、filter过滤

“过滤”功能,数组中的每一项运行给定函数,返回满足过滤条件组成的数组。

filter(function(value,index) {

函数体语句

})

可以实现对数组元素的"过滤",返回的元素构成一个新的数组

var arr = [1,2,3,4,5,6,7,8,9,10]
var temp = arr.filter(function(value,index){ //value:表示数组元素,index:表示数组元素的下标
      return  index % 3==0 || value>=8 //返回下标对3取余等于的元素
})
console.log(temp)
var arr = [1,2,3,4,5,6,7,8,9,10];
        //filter过滤元素
        var temp = arr.filter(function(value,index){
            return index % 3 == 0 || value >= 8
        })
        console.log(temp);//1,4,7,8,9,10

14、fill(值/变量)

使用特定值填充数组中的一个或多个元素。当只是用一个参数时,该方法会用该参数的值填充整个数组。ES6新增的函数。

用给定的值或变量填充数组

 ```javascript

var arr = new Array(5) arr.fill(1) //数组的5个单元中都是1 console.log(arr)

//fill填充 var arr = new Array(5); arr.fill(1); console.log(arr);//1,1,1,1,1 ```

15、every

判断数组中每一项都是否满足条件,只有所有想都满足条件,才会返回true。

every(function(value) { // 判断数组中每一项都是否满足条件,只有所有项都满足条件,才会返回 true

return 条件表达式

})

var arr = [1,2,3,4,15,6,7,8,9,10]
var flag = arr.every(function(value){  //参数value代表数组元素
            return value <=10   //若数组中每个元素都小于等于10,则返回true,否则返回false
})
console.log(flag)
​
 //every:所有向都满足条件,才返回true
        var arr = [1,2,3,4,5,6,7,8,9,10];
        var flag = arr.every(function(value){
            return value <= 10
        })
        console.log(flag);//true
​
        var arr = [1,12,3,4,5,6,7,8,9,10];
        var flag = arr.every(function(value){
            return value <= 10
        })
        console.log(flag);//false

16、includes()

判断一个数组中是否包含一个指定的值

 var arr = [45, 78, 89, 55, 46, 31]
        var flag = arr.includes(89) //判断arr数组中是否包含89,若有返回true,没有就返回false
        console.log(flag)//true
​
        var flag1 = arr.includes(89, 3)//从下标为3的元素开始查找,若有返回true,没有就返回false
        console.log(flag1)//false

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值