1、js里数组常用方法汇总

数组的常用方法

基本用法

1.数组有length和下标

例子:

     //1.数组有长度和下标
     var cars = ["Saab", "Volvo", "BMW","AODI"];
     console.log(cars.length);
     console.log(cars[1]);

     //2.数组for in循环(i是下标)
     for(var i in cars){
         console.log(i+' '+cars[i])
     }


    // 3.构造数组的两种方式
    var arr = [10];
    var arr1 = new Array(10); //new只有一位数的时候表示的是数组长度
    var arr2 = new Array(1, 2, 3, 4)
    console.log(arr)
    console.log(arr1)


    // 3.构造数组的两种方式
    var arr4 = [];
    console.log(arr4[10]) //undefined
    arr[10] = 11;
    console.log(arr4.length) //11

改变原数组:

1.push    push()向数组末尾添加元素并返回,

2.pop     pop()删除数组最后一个元素并返回值

3.shift    shift()删除并返回第一个元素

4.unshift    unshift()向数组头部添加元素并返回

5.sort     sort()数组排序

6.reverse    reverse()翻转数组

7.splice    splice()删除元素,并向数组添加新元素   splice(index,count,item)

 

例子

     //1.push()向数组末尾添加元素并返回
     var push_arr=[5,4,3,2,1];
     console.log(push_arr.push(0,-1));     //  7   
     console.log(push_arr)                 //[5, 4, 3, 2, 1, 0, -1]  

     //2.pop()删除数组最后一个元素并返回值
     var pop_arr=[5,4,3,2,1];
     console.log(pop_arr.pop());           //1
     console.log(pop_arr)                  //[5,4,3,2]

     //3.shift()删除并返回第一个元素
     var shift_arr=[5,4,3,2,1];
     console.log(shift_arr.shift());     // 5 
     console.log(shift_arr)              //[4, 3, 2, 1]  

     //4.unshift()向数组头部添加元素并返回长度
     var unshift_arr=[5,4,3,2,1];
     console.log(unshift_arr.unshift(7,6));     // 7 
     console.log(unshift_arr)              //[7, 6, 5, 4, 3, 2, 1]   

    //5.sort()数组排序
    var sort_arr=[1,4,12,28,3];
    sort_arr.sort();
    console.log(sort_arr)            //[1, 12, 28, 3, 4]

     sort_arr.sort(function(a, b){       
        return a > b ? 1 : -1;    
     });
     console.log(sort_arr)          // [1, 3, 4, 12, 28]

     //6.reverse()翻转数组
     var reverse_arr=[5,4,3,2,1];
     console.log(reverse_arr.reverse())    //[1, 2, 3, 4, 5]

    //7.splice()删除元素,并向数组添加新元素   splice(index,count,item)
     
    // 7.A替换    从第2个位置开始删除一个值再把后面的值添加进去 
    var fruits = ["Banana", "Orange", "Apple", "Mango"];
    fruits.splice(2,1,"Lemon","Kiwi"); 
    console.log(fruits)                        //["Banana", "Orange", "Lemon", "Kiwi", "Mango"]

    //7.B删除前两位
    fruits.splice(0,2);                       
    console.log(fruits)                       //["Lemon", "Kiwi", "Mango"]
    //7.C在前面添加
    fruits.splice(0,0,"Lemon","Kiwi");                       
    console.log(fruits)                       //["Lemon","Kiwi","Lemon", "Kiwi", "Mango"] 
    //7.D删除后几位
    fruits.splice(-2,2);                       
    console.log(fruits)                       //["Lemon","Kiwi","Lemon"]   
    //E在末尾添加  
    fruits.splice(3,0,"Lemon","Kiwi"); 
    console.log(fruits)                       //["Lemon", "Kiwi", "Lemon", "Lemon", "Kiwi"] 

不改变原数组:

1.concat   concat()连接多个数组

2.join    join()分割数组成字符串

3.slice    slice()从某个已有的数组返回选定的元素

4.toString    toString()把数组转换为字符串,并返回结果。

5.valueof      valueof()返回数组对象的原始值

6.indexOf     indexOf()返回一个元素在数组中的第一个下标

7.lastIndexOf      lastIndexOf()返回一个元素在数组中的最后一个下标

 

例子:

     //1.concat()连接多个数组
     var num1=[1,2];
     var num2=[3,4];
     var result1=num1.concat(num2); 
     console.log(result1)    //[1,2,3,4]

     //2.join()分割数组成字符串
     var join_arr=[1,2,'three','four'];
     console.log(join_arr.join('/'))   

       
     //3.slice()从某个已有的数组返回选定的元素
     var slice_arr=[5,4,3,2,1];
     console.log(slice_arr.slice(1,2));     // [4]
     console.log(slice_arr.slice(2,5));     // [3, 2, 1]

     //4.toString()  把数组转换为字符串,并返回结果。
     var string_arr=[1,4,12,28,3];        
     console.log(string_arr.toString())   //1,4,12,28,3

     //5.valueof()  返回数组对象的原始值
      var value_arr=[1,4,12,28,3];        
      console.log(value_arr.valueOf())   //[1,4,12,28,3]

     // 6.indexOf()  和 lastIndexOf()
     var ages = [32, 33, 16, 40,33];

     //6.1  indexOf() 搜索数组中的元素,并返回它所在的下标。
        console.log(ages.indexOf(33));       //1

     //6.2   lastIndexOf() 返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。
         console.log(ages.lastIndexOf(33));    //4

ES6

1.find       find()

2.every    every()方法后接函数,检测数组元素的每个元素是否都符合条件

3.filter      filter()  检测数组元素,并返回符合条件所有元素的数组。

4.some    some()  检测数组元素中是否有元素符合指定条件。

5.map      map() 通过指定函数处理数组的每个元素,并返回处理后的数组。

6.keys      keys() 对数组索引的遍历

     //1.find()
     let arr=[1,2,234,'sdf',-2];

     console.log(arr.find(function(x){
         return x<=2;    //结果:1,返回第一个符合条件的x值 
     })
     )              

     arr.find(function(x,i,arr){
         if(x<2){console.log(x,i,arr)}     
     })          
     //结果:1 0 [1, 2, 234, "sdf", -2],-2 4 [1, 2, 234, "sdf", -2]                      
     

     //2.every()方法后接函数,检测数组元素的每个元素是否都符合条件。

     function checkAdult(age) {
         return age >= 18;
     }

      console.log(ages.every(checkAdult));         //false

    //3.filter()  检测数组元素,并返回符合条件所有元素的数组。

    console.log(ages.filter(checkAdult));        //[32, 33, 40]


    // 4.some()  检测数组元素中是否有元素符合指定条件。

     console.log(ages.some(checkAdult));           //true

    //5.map() 通过指定函数处理数组的每个元素,并返回处理后的数组。

    var numbers = [4, 9, 16, 25];
    console.log(numbers.map(Math.sqrt));    //平方根 ['2','3','4','5']


    //6.keys() 对数组索引的遍历
    var string = ['aaa','bbb','ccc','ddd'];

    //遍历索引
    var x = string.keys();
    console.log(x.next().value)    //x.next().value跟索引顺序一一对应
   
    for(let a of string.keys()){
    console.log(a)                 //0 1 2 3
    }

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值