JS数组的基本用法

 

  JS数组的用法包括创建、取值赋值、添加以及根据下标(包括数值或字符)来移除元素等等,在本文中将为大家详细介绍,感兴趣的朋友可以参考下。

 

1.创建数组:

//1.1 直接创建一个数组对象
var  array= new  Array();
//1.2 直接创建一个数组对象
var  array= new  Array(size);
//1.3 创建数组并为数组赋值
var  array= new  Array(item1,item2,item3....,itemN);

 

2.对数组取值、赋值 

//2.1 取得下标为index的元素

var item=array[index];

//2.2 为下标为index的元素赋值为value

array[index]=value;


3.对数组添加元素

//3.1 将一个或多个元素加入到数组,返回数组的长度
array.push(item1,item2……itemN); 
//3.2 将一个或多个元素加入到数组的开始位置,原有元素位置自动后移,返回新数组的长度
array.unshift(item1,item2……itemN); 
//3.3 从start的位置开始向后删除delCount个元素,然后从start的位置开始插入一个或多个新元素
array.splice(start,delCount,item1,item2……itemN);   

 

4.删除数组的元素

// 4.1删除最后一个元素,并返回该元素
array.pop();
// 4.2删除第一个元素,数组元素位置自动前移,返回被删除的元素
array.shift();
// 4.3从start的位置开始向后删除delCount个元素,所以通过下标来删除元素可以用这种方式。如:array.splice(0,1);0代表第0个元素,1代表从这个下标开始算起,删除一个元素。
array.splice(start,delCount);  

 

5.数组的截取与合并

// 5.1以数组的形式返回数组的一部分,注意不包括end下标的元素,如果省略了end,就会赋值start之后的所有元素
array.slice(start,end);
// 5.2将多个数组合并成一个数组
array.concat(array1,array2);  

6.数组的排序

var  arr=[ 2 , 3 , 1 , 4 , 5 ];
// 6.1对arr进行升序排序,结果为12345
arr.sort();

// 6.2对arr进行降序排序,结果为54321
// 有以下两种方式:

// 6.2.1先升序排列,再反转数组
// 6.2.2直接使用sort()方法,传入一个判断的匿名函数进行倒序排列
arr.sort(function(p,n){
   return n-p; // 降序
  
// return p-n; // 升序
});    

 

7.数组的反转

var  array=[ 3 , 2 , 1 , 4 , 5 ];

var newArr=array.reverse();//得到5,4,1,2,3

 

8. 数组转字符串

var  array=[ 1 , 2 , 3 , 4 , 5 ];

var str=array.join('|');//得到1|2|3|4|5

 

9.使用数组来实现队列和栈

因为队列是先进先出,栈先进后出。如下图所示:

 

接下来,我们使用数组来实现这两种。

    // 先来实现队列
    var arr= new Array();
    arr.push( " 1 ");
    arr.push( " 2 ");
    arr.push( " 3 ");
    arr.push( " 4 ");
     var count=arr.length;
     var res= '';
     for( var i= 0;i<count;i++){
        res+=arr.shift()+ "  length= "+ arr.length+ " \n ";
    }
    document.write(res); //结果为 1 length=3 2 length=2 3 length=1 4 length=0

然后实现先进后出的方式:

    var arr= new Array();
    arr.unshift( " 1 ");
    arr.unshift( " 2 ");
    arr.unshift( " 3 ");
    arr.unshift( " 4 ");
     var count=arr.length;
     var res= '';
     for( var i= 0;i<count;i++){
        res+=arr.shift()+ "  length= "+ arr.length+ " \n ";
    }
    document.write(res); //结果为 4 length=3 3 length=2 2 length=1 1 length=0

 


转载于:https://www.cnblogs.com/duyao/p/4688485.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值