欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

js array 数组总结

程序员文章站 2022-04-04 19:42:37
...

最近工作中用到数组和js对象比较多,这里先总结一下数组。

 

1.数组的定义

 

var array1= new Array();
var array2=new Array(6);
var array3=new Array(['a','b']);
var array4=[];
var array5=[1,"a"];

说明:js和java数组不太一样,他的数组长度是可以变化的,类似Java的List

 

array2虽然定义数组长度是6,但是他可以增加其内容改变其长度。

 

2.增

function addTest()
{
    var addArray=[]; //初始化一下
    addArray.push("a");	//将新元素添加到数组的最后(入队),并返回新数组的长度
    alert("addArray数组长度:"+addArray.push("b"));
		
    addArray.unshift("c"); //将新元素放到数组的最开始(入栈),并返回新数组的长度
    alert("addArray数组长度:"+addArray.unshift("d"));
		
    var temp=addArray.splice(2,1,"e","f"); //将新元素插入到指定的位置,返回被删除的元素
    //从index:2的位置删除1个元素,并添加e,f进入数组
    alert(temp); 
		
    alert(addArray); //结果:d,c,e,f,b
}

 说明:

  1.js数组三种新增方式push、unshift、splice

  2.三种方式可以添加单个元素,也可以添加多个元素/数组

 

3.删

function delTest()
{
    var delArray=["a","b","c","d"]; 
    var delObj=delArray.pop(); //删除最后一个元素,并返回该元素(出队)
    alert(delObj); //结果:d
		
    delObj=delArray.shift(); //删除第一个元素,并返回该元素(出栈)
    alert(delObj); //结果:a
		
    delObj=delArray.splice(1,1);  //从index:1的位置删除1个元素
    alert(delObj) //结果:c
		
    alert(delArray); //结果:b
}

 

4.查 和 改

function ruTest()
{
    var array=["a","b","c","d"]; 
    alert(array[1]);
    array[1]="b1";
    alert(array);
}

 

5.遍历

function iteratorTest()
{
	var array=["a","b","c","d"];
	
	//方式一:for in
	for(var i in array)
	{
		alert(i+":"+array[i]);
	}
	
	//方式二:传统for
	for(var i=0;i<array.length;i++)
	{
		alert(i+":"+array[i]);
	}
}

 

6.一些方法

     1.concat:拼接元素,并返回结果

     2.join:使用指定的分隔符把数组拼成字符串

     3.reverse:反序输出,会改变当前数组

     4.slice(start,end):从数组中取出,半开半闭区间

     5.sort:排序

function otherTest()
{
	var array=["a","b","c","d"]; 
	var array1=["e","f"]; 
	alert("concat:"+array.concat("z",array1));
	
	alert("join:"+array.join("#"));
	
	alert("reverse:"+array.reverse());
	
	alert("slice:"+array.slice(1,3));
	
	alert("sort:"+array.sort());
}

 说明:

   1.concat:不会改变当前的数组,他会返回一个拼接好的数组副本

   2.concat:拼接的内容可以是单个元素,也可以是数组,并且可拼接多个

   3.reverse:是会改变但前数组的

   4.slice:是一个半开半闭的区间,例如:slice(1,3):取的是index:1和index:2

   5.sort:一种自然排序,数字和字母

 

7.返回创建对象的函数

function constructorTest()
{
	var testArray=new Array();
	alert(testArray.constructor);
	alert((new Date()).constructor);
	alert(typeof(testArray.constructor));  //返回的是一个函数
}

 

8.原型属性测试

function prototypeTest()
{
	//对Array进行扩展
	Array.prototype.myMethod=function(param){ alert(param+"我自己扩展的方法!")};
	var testArray=new Array();
	testArray.myMethod("hi"); //扩展后所有的Array对象都具有这个方法
}
	
//可以看到原型扩展是全局的,这里并没有原型扩展语句 但是新创建的Array仍然有这个方法
function prototypeTest1()
{
	var testArray=new Array();
	testArray.myMethod("hello");
}

 

声明:

1.原创文章,转载请标明并加本文连接。

2.文章反映个人愚见,如有异议欢迎讨论指正

3.更多的内容请看我的  个人博客(测试版)

相关标签: js array 数组