数组

数组的几种用法:

var arr=[];

var arr=nwe Array();

var a=[1,2,3];

var a=new Array(1,2,3);

var a=new Array(30);//这个是设立一个数组然后里面有29个位置。

如何访问数组呢?

就是通过下标,下标是指元素储存的位置,一般是从0开始,连续不重复。

假如是这个数组var a=[1,2,3];

那么console.log(a[0]);这输出的就是数组中1这个元素。

那么怎么修改数组的中的元素呢?

也是通过下标来修改的,a[0]="马化腾";那么现在上面那个数组就变成了

var a=["马化腾",2,3];

由这个我们也能得到一个结论,那就是数组是不限制元素的储存类型的。

并且数组也不限制下标的越界,如

a[5]=80;

那么就会在下标为5的位置生成一个元素80.

还有就是数组的.length属性,这个属性记录了理论上的元素个数,永远是最后一个元素的下标+1.

 如何获取最后一个元素 倒数第n个元素 arr[arr.length-n]
console.log(array[array.length-1]);
如何在数组的末尾追加新元素
array[array.length] = "Lily";
console.dir(array);
删掉数组中的某个元素
array[1] = "";
console.dir(array)
数组的最后一个元素
array.length--;
console.dir(array);
删掉数组末尾的n个元素
array.length = array.length-2;
console.dir(array);

数组的遍历:

var a=[1,2,3,4]

for(var i=0;i<a.length;i++){

console.log(a[i]);

}这就是循环输入shuzu 里面的值,从下标0到最后一个下标,因为.length永远是比最后一个下标大1,所以我们设置小于i<a.length就行.

数组的API

转字符串
 1.String(arr) : 将数组中每个元素都转化为字符串,再用逗号链接.

  var provs = ["辽宁省","吉林省",'湖北省','重庆市','天津市'];

  var before = String(provs);

   那么这里输出来之后就是字符串。

   provs[provs.length] = "湖南省";

 这个prove.length就是在最后一个元素后在加一个元素;

所以现在就是 var provs = ["辽宁省","吉林省",'湖北省','重庆市','天津市','湖南省'];

还有一种方法:arr.join("自定义的连接符"):将数组中的每个元素转化为字符串,可以用自定义连接符。

这种的话与上一种相比就能不止使用逗号隔开,用标签奇迹其他符号隔开也行。

 arr.join("");像这样不添加符号就能无缝连接。

拼接

newArr = arr1.concat(value1,value2,arr2....);   将value1,value2,arr2,拼接到arr1的结尾(注意是拼接到结尾)。

无权修改原数组,只能返回新数组,必须使用变量接受拼接后返回的值
 concat会打散参数中的子数组为单个元素,单个拼接。

选取

选取 获得原数组中制定位置到结束位置之间的所有元素,组成临时子数组
arr.slice(stati,endi) 选取stati位置开始到endi位置的所有元素,组成临时子数组

需要注意的是不包括endi这个元素,只选取到endi前面一个。slice无权修改原数组,只是赋值原数组中的元素组成新数组。

删除

 arr.splice(starti,n)删除arr中starti开始的n个元素

修改了原数组 

 返回值:被删除的元素组成的临时子数组 假删除
支持负数参数 .length - n

插入

arr.splice(starti,0,value1,value2/arr2...)将value1,value2等插入到arr中starti的位置
 starti表示位置,0表示一个都不删除 ,原位置的值,向后顺移
 将参数数组的元素单个存储到数组中去

.替换

arr.splice(starti,n,value1,value2....) 先删除arr中starti位置开始的n个元素
 再在strati位置插入 value1,value2...
 删除的元素个数和插入的新元素不必一致

 

 

 

 

posted @ 2019-07-27 13:21  俞振雄  阅读(130)  评论(0编辑  收藏  举报