数组常用的属性和方法

一、属性 length

 //1:数组的定义
    var colors0=new Array();    //创建数组
    var colors1=new Array(20);    //创建数组并指定长度
    var colors2=new Array('red','blue','green');//定义数组并赋值
    var colors3=[];//字面量定义空数组
       console.log(colors0.length);//0
       console.log(colors1.length);//20
       console.log(colors2.length);//3
 //2:数组的访问和修改
      console.log(colors2[0]);//访问数组 red
      colors2[1]='小明';    //修改数组下标中的值
      console.log(colors2[1]);
  //3.遍历数组
       for(var i=0;i<colors2.length;i++){
           console.log(colors2[i]);//red,小明,green
        }

1.尾部的增删 push()和pop()

//尾部的增删  push()尾部的添加   pop()尾部的删除
  var colors=new Array();
  var count=colors.push('red','green')
   console.log(colors);    //red,green
   count=colors.push('black');    
   console.log(colors);    //red,green,black  //返回值是新数组
  var item=colors.pop();//移除数组的最后一项 
    console.log(item);    //black   //有返回值被删元素

2头部的增删 shift()和unshift()

//头部的增删  shift()是往头部删除   unshift()是往头部添加
  var colors=new Array();
  var count=colors.push('red','green');
      count=colors.push('black');
  var item=colors.shift();//删除数组中第一个
      console.log(item);    //red   //返回值是删除的元素
      console.log(colors.length);//2
   
  var color=new Array(); 
  var c=color.unshift('red','green');//往数组头部添加两个
      c=color.unshift('black');
  var i=color.pop();
      console.log(i);//green
      console.log(color.length);//2

3.重排序方法 sort()和reverse()

  //reverse()方法和sort()方法
     //1:测试reverse()方法
     var values1=[1,2,3,4,5];
        values1.reverse();    //将数组进行反转
        console.log(values1);//5,4,3,2,1
            
     //2:sort()方法接受函数实现升降序
        arr.sort(function(a,b){
				//升序排列
				//return a-b;
				//降序排列
				return b-a;
			});
			console.log(arr);  //返回的数组是原数组进行排序后的数组

4. 删除和拼接 slice()、splice()、concat()

   //1:测试操作方法concat()
    var colors1=['red','blue','green'];
    var colors2=colors1.concat('yellow',['black','brown']);
        console.log(colors2);    //red,blue,green,yellow,black,brown
   //2:测试操作方法splice(startIndex,[endIndex]);
      var colors3=['red','green','blue','yellow','purple'];
      var colors4=colors3.splice(1);
      var colors5=colors3.splice(1,4);
        // 返回值是被删除元素,包前不包后
          console.log(colors4);    //green,blue,yellow,purple
          console.log(colors5);    //green,blue,yellow
    //3:测试splice()方法
        //(1):测试splice()删除方法
        //参数:要删除第一项的位置,删除的项数
        var item=['red','blue','green'];
        var removed=item.splice(0,1);
            console.log(removed);//red   返回值是被删元素
            console.log(item);//blue,green
        //(2):测试splice()添加方法
        //参数:起始位置,0(要删除的项数),要插入的项
            removed=item.splice(1,0,'yellow','orange');
            console.log(removed);//返回一个空的数组,因为移除的项为0
            console.log(item);    //blue,yellow,orange,green
        //(3):测试splice()修改方法
        //参数:起始位置,删除的项数,插入的任一项
            removed=item.splice(1,1,'red','purple');
            console.log(removed);//yellow
            console.log(item);//blue,red,purple,orange,green

5. 转换方法 toString()和join()

        var colors=['red','green','blue'];//创建一个包含三个字符串的数组
      //1:测试toString()方法
        console.log(colors.toString());    //red,green,blue
      //2:测试join()方法
         var item=['red','blue','green'];
            console.log(item.join('|'));//red|blue|green
            console.log(item.join('||'));//red||blue||,green

6. 迭代方法 some()、filter()、map()、forEach()、every()

       //迭代方法:every(),filter(),forEach(),map(),some()
       //传递参数,数组项的值,数组中的位置,数组对象本身
            var numbers=[1,2,3,4,5,4,3,2,1];
       //1:测试erery()函数
            var everyResult=numbers.every(function(item,index,array){
                return item>2;
            });
            console.log(everyResult);//false
        //2:测试some()函数
            var someResult=numbers.some(function(item,index,array){
                return item>2;
            });
            console.log(someResult);//true
        //3:测试filter()函数
            var filterResult=numbers.filter(function(item,index,array){
                return item>2;
            });
            console.log(filterResult);//3,4,5,4,3
        //4:测试map()函数
            var mapResult=numbers.map(function(item,index,array){
                return item*2;
            });
            console.log(mapResult);//2,4,6,8,10,8,6,4,2
        //5:测试forEach()函数
            numbers.forEach(function(item,index,array){
                //执行某些操作
                console.log(item);//1,2,3,4,4,3,2,1
            })    

7. 归并方法 reduce()和reduceRight()

     //归并方法:reduce()和reduceRight()
     //传递参数:前一个值,当前值,项的索引,数组对象
        var array=[1,2,3,4,5]
     //1:测试reduce()方法
        var sum1=array.reduce(function(prev,cur,index,array){
              return prev+cur;
           });
        console.log(sum1);//15
     //2:测试reduceRight()方法
         var sum2=array.reduceRight(function(prev,cur,index,array){
              return prev+cur;
           });
         console.log(sum2);//15

链接: https://www.cnblogs.com/jjgw/p/11608609.html.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值