首页 > 代码库 > js数组

js数组

  js的数组可用var arr = []或var arr = new Array()创建,它有push,pop,shift,unshift,sort,concat,join以及splice方法。

  1.数组创建

var arr1 = [1,2,1],
    arr2 = new Array(1,2,3);
    alert(arr1);
    alert(arr2);

  技术分享

  技术分享

  原本数组里面是可以存不同类型的值,但原则上最好只存一种类型的。

   2.数组的方法

   (1)push  在数组尾部插入数据

  

var arr = [1,‘2‘,true];
arr.push(3);
alert(arr);

 技术分享

   (2)pop 在数组尾部弹出

var arr = [1,‘2‘,true];
	arr.pop();
	alert(arr);

 技术分享
 (3)shift 在数组头部弹出

var arr = [1,‘2‘,true];
	arr.shift();
	alert(arr);

   技术分享
 (4)unshift 在数组头部插入

var arr = [1,‘2‘,true];
	arr.unshift(3);
	alert(arr);

   (5)sort 默认按字符串增序排序

var arr = [1,‘22‘,21,33,118];
	arr.sort();
	alert(arr);

 技术分享

  很尴尬的是如果用于数字排序的话就可能会出现上面这种问题,因为它是转换为字符串来排序的,而不是根据数字大小排序,因此我们得给sort加一种排序的方法

 

var arr = [1,‘22‘,21,33,118];
	arr.sort(function(num1,num2){
		//升序
		return num1-num2;
	});
	alert(arr);

 技术分享

 

var arr = [1,‘22‘,21,33,118];
	arr.sort(function(num1,num2){
		//降序
		return num2-num1;
	});
	alert(arr);

 技术分享

   (6)concat 连接2个数组

var arr = [1,‘22‘,21,0,118];
	alert(arr.concat(2,3));
	alert(arr);

 技术分享

技术分享

  可以看到用concat连接后arr数组本身没有发生变化

 (7)join 将数组里的元素用某种字符连接起来

var arr = [1,‘22‘,21,0,118];
	alert(arr.join(‘-‘));
	alert(arr);

 技术分享

技术分享

   arr本身依旧没有被改变

   (8)splice 先删除元素再插入元素

   只有2个参数splice(a,b)从a位置起删除b个数

var arr = [1,‘22‘,21,0,118];
	arr.splice(0,1);
	alert(arr);

 技术分享

有4个参数时,splice(a,b,c,d)从a位置起删除b个数再把c,d加在a后面

var arr = [1,‘22‘,21,0,118];
	arr.splice(0,1,‘a‘,true);
	alert(arr);

 

 技术分享

第二个参数为0时,splice(a,0,b,c)从a位置起删除0个数再把b,c加在a后面

技术分享

js数组