JavaScipt数组方法大全

JavaScript学习中,整理了一些数组的知识,希望对大家有所帮助,也请大神多多指教!

一、数组的声明

1、通过new创建数组,传入任意参数
2、省略new创建数组
3、通过数组常量进行赋值
以上三种形式分别为:

var arr = new Array(100,true,"hello");       
var arr = Array(100,true,"hello");       
var arr = [100,true,"hello"];

同时,需要注意,1、2两种方法,传入参数只有一个,而且是数字的时候,是声明一个长度为10的数组;而3方法当传入参数只有一个,而且是数字的时候,是只有一个元素的数组,元素为该数字。

二、数组的遍历

数组名.length 返回值为数组元素的个数
1、for循环

var arr = [100,true,"hello"];
for(var i = 0; i < arr.length; i++){          
	document.write(arr[i] + "</br>")
	}

2、for…in遍历

var arr = [10,20,30,40,50];       
//在页面上分别将每一个数输出       
for(var i in arr){           
	document.write(arr[i] + "<br/>"); 
      }

三、数组的方法

1、栈结构
结构:从同一头进,从同一头出
特点:先进后出
数组的两个方法形成栈结构:
push方法格式:数组.push(形参1,形参2……)
功能:给数组的末尾添加元素
返回值:插完元素以后数组的长度

var arr = ["北京","上海","广州"];       
var res = arr.push("深圳","西安");       
alert(arr); //输出北京,上海,广州,深圳,西安
alert(res); //输出5

pop方法格式:数组.pop()
参数:没有参数
返回值:取下的一个元素
功能:从数组末尾取下的一个元素

var arr = ["北京","上海","广州"];      
var res = arr.pop();       
alert(res);//广州       
alert(arr);//北京,上海

2、队列结构
结构:从末尾进,从头部出
特点:先进先出
数组的两个方法形成队列结构:
shift方法:
格式:数组.shift()
参数:没有参数
功能:从数组的头部取下一个元素
返回值:取下的元素

var arr = ["北京","上海","天津"];        
var res = arr.shift();        
alert(res);//输出北京        
alert(arr);//输出上海,天津

unshift方法:
格式:数组.unshift(参数1,参数2……)
功能:从数组的头部插入元素
返回值:插完元素以后数组的长度

var arr = ["北京","上海","广州"];
var res = arr.unshift("天津");
alert(res);//4
alert(arr);//北京,上海,广州,天津

3、contact方法
作用:
a、拷贝原数组,生成新数组
b、合并数组
格式:数组名.contact(数组或数据等)
返回值:新数组

var arr1 = [10,20,30];        
var arr2 = [50,60,70];        
var newArr = arr1.concat(arr2,"hello",true);        alert(newArr);//10,20,30,50,60,70,hello,true        
alert(newArr.length);//8       
alert(arr1);//10,20,30

由此可见,contact方法并不改变原数组
4、slice方法
作用:可以基于当前数组获取指定区域的元素
[start,end]在该区域内提取出元素生成新数组
返回值:新生成的数组,原数组不变

var arr = [10,20,30,40,50,60];
var newArr = arr.slice(1,4);
alert(newArr);//20,30,40  
alert(arr);//10,20,30,40,50,60

5、splice方法
格式:数组名.splice(start,length,数据……)
start:开始截取的位置
length:截取的个数
a、添加
返回值:截取下的元素组成的数组

var arr = [10,20,30,40,50];  
var newArr = arr.splice(2,0,"hello","world");//截取0个元素,达到添加元素的效果        
alert(arr);//10,20,hello,world,30,40,50        
alert(newArr);//空数组

b、删除
返回值:截取下的元素组成的数组

var arr = [10,20,30,40];
//从第一个元素开始删除两个元素
var res = arr.splice(1,2);        alert(arr);//10,40        
alert(res);//20,30

c、修改(先删除后增加,在视觉上形成了修改元素的效果)

var arr = [10,20,30,40];
var newArr = arr.splice(2,1,"hello");
alert(arr);//10,20,hello,40

6、join方法
格式:数组名.join
作用:将数组中的元素,用传入的拼接符,拼接成一个字符串
返回值:拼接的字符串

var arr = [10,20,30,40];        
var str = arr.join("==");
alert(str);// 10==20==30==40       
alert(arr);// 10,20,30,40

7、reverse方法
格式:数组名.reverse
作用:逆序

var arr = [true,"hello",100];        
arr.reverse();        
alert(arr);

8、sort方法
格式:数组名.sort
作用:排序

//注:按字符串大小比较
var arr = [30,10,40,20];
arr.sort();        
alert(arr);

如果想要数值从小到大排序

var arr = [30,10,50,20,60];        
arr.sort(function(value1, value2){            
return value1 - value2;        
});        
alert(arr);//10,20,30,50,60

若从大到小比较,秩序将上述代码中的value1 - value2改为value2 - value1即可。

发布了4 篇原创文章 · 获赞 6 · 访问量 78

猜你喜欢

转载自blog.csdn.net/qq_46127363/article/details/105071047