数组的常用方法

  • 向数组的最后一个位置添加元素
arr[0]=1;
arr[1]=2;
arr[arr.length]=3;//每次向数组的最后一个位置添加元素
  • 使用字面量创建数组
var arr = [1,2,3,4,8];
//使用构造函数创建数组
var arr1 = new Array(10,20,30);
var arr2 = new Array(10);
//创建一个数组只有10 有一个元素
arr = [10];
  • 数组内的元素可以是任何类型
//元素是对象
var obj = {name:孙悟空};
arr[arr.length] = obj;
arr = [{name:孙悟空},{name:猪八戒},{name:沙和尚}];
//元素是函数
arr = [function(){alert(1)},function(){alert(2)}];
//元素是数组,即二维数组
arr = [[1,2,3],[3,4,5],[4,5,6]];
  • 数组的对象方法

  • 数组的常用方法
    1.push()方法

    //向数组的末尾添加一个或更多元素,并返回新的长度。
    var arr = ["孙悟空""猪八戒""沙和尚"]var result =arr.push("白骨精");
    console.log(arr);
    console.log("result ="+result);//得出结果是5,说明push()函数返回的值是数组元素的个数。
    

    2.pop()方法

      var arr = ["孙悟空""猪八戒""沙和尚"]var result = arr.pop();
      console.log(arr);
      console.log("result ="+result);//结果是沙和尚,说明pop()函数返回的值是已经删除的值
    

    3.unshift()方法

    //向数组的前端添加一个或更多元素,并返回新的长度。
      var arr = ["孙悟空""猪八戒""沙和尚"]var result = arr.unshift("白骨精","牛魔王");
      console.log(arr);
      console.log("result ="+result);//得出结果是6,说明unshift()函数返回的值是数组元素的个数。
    

    4.shift()方法

    //从前端删除数组元素的值,返回的值是已经删除的值
      var arr = ["孙悟空""猪八戒""沙和尚"]var result = arr.unshift();
      console.log(arr);
      console.log("result ="+result);//结果是孙悟空
    

    5.slice()函数,用于从我们的数组中提取指定元素

    1.截取位置开始索引,包括开始索引
    
    2.截取结束位置索引,不包括结束索引
    
    3.第二个参数可以省略不写,此时会截取从开始到最后的所有元素
    
    4.可以传递一个负值,传递负值,则从后往前计算
    
    var arr = ["格格","哈哈","球球","香香","大大"];
       var result = arr.splice(1,3);
       console.log(result);//结果是“哈哈,球球,香香”
    
    var result2 = arr.slice(1);
       console.log(result2);//输出结果是"哈哈,球球,香香,大大"
    
    var result3 = arr.slice(1,-1);
    console.log(result3);//输出结果是“哈哈,球球,香香”
    

    6.splice()删除数组中的指定元素,会影响原数组,并将删除的元素作为返回值

    1.第一个参数表示开始位置的索引
    
    2.第二个参数表示删除的数量
    
    3.第三个参数及以后的参数,这些元素将自动插入到开始索引的位置的前边
    
    var arr = ["格格","哈哈","球球","香香","大大"];
       var result = arr.splice(1,3);
       console.log(result);//结果是“哈哈,球球,香香”
       console.log(arr);//结果是“格格,大大”
    
    var arr = ["格格","哈哈","球球","香香","大大"];
       var result1 = arr.splice(1,0,"小白","小黑");
       console.log(result1);//结果是空数组
       console.log(arr);//结果是“小白,小黑,哈哈,球球,香香,大大”
    

    7.concat()函数 该函数不会对原数组造成影响,该方法可以连接字符串

      var arr = ["孙悟空","猪八戒","沙和尚"];
    	  var arr1 = [1,2,3]
    	  var result = arr.concat(arr1);
    	  console.log(arr);//输出"孙悟空,猪八戒,沙和尚"
    	  console.log(result);//输出"孙悟空,猪八戒,沙和尚",1,2,3
    

    8.join() 函数

    该方法可以将数组转化成字符串
    
    该函数不会对原数组造成影响
    
    join()中的可以指定一个字符串作为参数,这个字符串将会成为元素中的连接符,不传参数默认逗号。
    
    	<script type="text/javascript">
    	    var arr = ["孙悟空","猪八戒","沙和尚"];
    	    var result = arr.join("hello");
    	    console.log(arr);//输出"孙悟空,猪八戒,沙和尚"
    	    console.log(result);//“孙悟空hello猪八戒hello沙和尚”
    	</script>
    

    9.sort()函数可以用来排序

    会改变原数组内容
    
    默认按照Unicode编码排序
    
      var arr = ["d","e","b","a","c"];
    	  var result = arr.sort();
    	  console.log(arr);//输出"a,b,c,d,e"
    	  console.log(result);//输出"a,b,c,d,e"  
    
    **sort()函数可以用回调函数进行排序**
    **浏览器会根据回调函数的返回值来确定来决定元素的顺序**
    **如果返回一个大于0的值,则元素会交换位置**
    **如果返回一个小于0的值,则元素位置不变**
    **如果返回一个0,则认为两个元素相等,也不交换位置**
    
    	var arr = [5,6,8,4,11,7,9];
    	    var result = arr.sort(function(a,b){//a是前面那个数,b是后面那个数
    	        return a-b;
    	    });
    	    console.log(arr);//输出"4,5,6,7,8,9,11"
    	    console.log(result);//输出"4,5,6,7,8,9,11"
    

    10.reverse()函数是将数组的顺序颠倒过来
    会改变原数组

    var arr = ["d","e","b","a","c"];
    var result = arr.reverse();
    console.log(arr);//输出"c,a,b,e,d"
    console.log(result);//输出c,a,b,e,d"
    

    11.forEach()函数(不兼容IE8以下的浏览器,可以用于移动端)
    forEach()方法需要一个函数作为参赛,类似这种函数,由我们创建,但是不由我们调用,称为回调函数,数组里面有几个 元素就会执行几次,每次执行时,浏览器都会遍历到的元素以实参的形式传递过来。
    第一个参数:当前正在遍历的元素
    第二个参数:当前正在遍历的元素的索引
    第三个参数:就是正在遍历的数组

    var arr = ["格格","哈哈","球球","香香"];
    arr.forEach(function(value,index,obj)
    		{console.log(value)}
    		);
    

    12.数组去重

    <script type="text/javascript">
       var arr = [1,6,6,2,2,3,4,2,5,9,5,4,1,8,6,3];
        //去除数组的重复数字
       function unique(arr) {
           for (var i = 0; i<arr.length; i++){
                for(var j = i+1;j < arr.length;j++){
                    if(arr[i]==arr[j]){
                        arr.splice(j,1);
                        j--;
                    }
                }
           }
       }
      var result = unique(arr);
       console.log(arr);
    </script>
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值