数组的方法

数组添加和删除

1.尾部添加和删除

  push( ) 尾部添加,参数就是要添加的项;如果添加多个,用逗号隔开;原数组会改变,不需要赋值  

  pop( ) 尾部删除,不用写参数,返回的是删除的项

 

2.首部添加和删除

  unshift( ) 头部添加,参数就是要添加的项;如果添加多个,用逗号隔开;原数组会改变,不需要赋值  

  shift( ) 部删除,不用写参数,返回的是删除的项

 

3.splice( a,b,c,d...)方法   

  a:下标

  b:个数 ( 为0,就是插入; 有数量,就是删除几个)

  c,d... 替换的值

  可以替换数组中,指定的值(从下标的开始)       返回的是替换掉的值

  可以在指定位置插入新项( 插入是下标的前面插入)  

  可以删除( 删除是包括下标的)

 

  例子: 可以替换数组中,指定的值(从下标的开始)       返回的是替换掉的值

            var arr = ['a','b','c','d','e'];
            //            0   1   2   3   4
var arr1 = arr.splice(3,2,'x','y','z') console.log(arr); //['a', 'b', 'c', 'x', 'y', 'z'] console.log(arr1); //返回的是:替换掉的值['d', 'e']

 

例子: 可以在指定位置插入新项( 插入是下标的前面插入)    返回的是 [ ]

            var arr = ['a','b','c','d','e'];
            //            0   1   2   3   4
var arr1 = arr.splice(1,0,'x','y','z') console.log(arr); //['a', 'x', 'y', 'z', 'b', 'c', 'd', 'e'] console.log(arr1); //返回的是:替换掉的值[ ]

 

例子: 可以删除( 删除是包括下标的)   返回的是删除的项

            var arr = ['a','b','c','d','e'];
            //            0   1   2   3   4
var arr1 = arr.splice(1,1) console.log(arr); //['a', 'c', 'd', 'e'] console.log(arr1); //返回的是:替换掉的值[ 'b' ]

 

4.slice( a , b)方法  用于得到子串 (原数组不变,返回是新的数组) ,    类似字符串的slice( )

  a 下标  (包括a)

  b 下标  ( 不包括b)

  如果不提供第二个参数( b ),那么久截取到最后

 

5.数组的join( ) 方法  和  字符串的split( )方法

  join( )   原数组不改变

    留空,默认为逗号分割,如同toString( ) 方法

  例子:

            var arr = [1,2,3,4,5,6];
            
            var arr1 = arr.join();
            
            var arr2 = arr.join('&');
            
            console.log(arr);
            // [1, 2, 3, 4, 5, 6]
            
            console.log(arr1);
            // 1,2,3,4,5,6
            
            console.log(arr2);
            // 1&2&3&4&5&6

 

  split( )   原数组不改变

    不能留空

  例子: 

            var str = '123456'
            
            var str1 = str.split()
            console.log(str1);
            // ['123456']
            
            var str2 = str.split('')
            console.log(str2);
            // ['1', '2', '3', '4', '5', '6']
            
            var str3 = str.split(' ') //有一个空格
            console.log(str3);
            // ['123456']
            
            console.log(str);
            // '123456'

 

6.concat( ) 方法   可以合并多个数组 , 不会改变原数组

            var arr1 = [1,2,3];
            var arr2 = [4,5];
            var arr3 = [6,7,8];
            
            var arr = arr1.concat(arr2);
            
            console.log(arr);
            // [1,2,3,4,5]
            
            console.log(arr1); 
            // 原数组不改变 : [1,2,3]
            
            var arr4 = arr1.concat(arr2,arr3);
            console.log(arr4);
            // [1, 2, 3, 4, 5, 6, 7, 8]

 

7.reverse( ) 方法  把数组反一下顺序,直接改变原数组

            var arr = [1,2,3,4,5]
            var arr1 = arr.reverse();
            
            console.log(arr);
            // 会改变原数组: [5, 4, 3, 2, 1]
            console.log(arr1);
            // [5, 4, 3, 2, 1]

 

8. indexOf( ) 和 includes( )  的区别

indexOf( )  搜不到返回-1 ;  如果indexOf,有2个参数的话,是-1的,只能一个参数

includes( ) 搜不到 ,返回false

 

9.sort( function( a,b ){ } ) 

  如果a大于b,那么就要调换位置,否则不变

  例子:

  

            var arr = [55,22,11,67,88,96,3,2,68];
            arr.sort(function(a,b){
                return a-b;  //从小到大排的
            })
            console.log(arr);
            //  [2, 3, 11, 22, 55, 67, 68, 88, 96]
            
            var arr1 = [55,22,11,67,88,96,3,2,68];
            arr1.sort(function(a,b){
                return b-a;  //从大到小排的
            })
            console.log(arr1);
            //  [96, 88, 68, 67, 55, 22, 11, 3, 2]

 

posted @ 2022-01-10 13:52  杨建鑫  阅读(87)  评论(0编辑  收藏  举报