数组的创建
var arr=[1,2,3,4,5];
= new Array(1,2,3,4,5);
注:如果var arr=new Array(2); 创建一个空数组,规定空数组的长度
数组的小方法
1、arr.push() 往数组最后添加
2、arr.unshift() 往数组前面添加
3、arr.pop(); 删除数组最后一位
4、arr.shift(); 删除数组第一位
5、arr.splice(开始的位置,删除的个数,添加的东西);
删除 arr.splice(开始的位置,删除的个数)
添加 arr.splice(开始的位置,0,添加的东西1,添加的东西2..)
替换 arr.splice(开始的位置,删除的个数,添加的东西)
6、数组变成字符串
arr.join('*'); 括号里是字符串的链接方式
7 数组拼接
arr1.concat(arr2,arr3) 括号里是要拼接的数组,多个数组用逗号隔开
8、arr.reverse() 数组反转
var arr = [1,2,3,4,5];
alert(arr.reverse()); //[5,4,3,2,1]
9、数组的排序
1) arr.sort(); //最简易排序(同字符串比较方法,不是从小到大)
var arr=[3,1,4,11];
arr.sort();
alert(arr); //1,11,3,4
2) arr.sort(function(a1,a2){ //代表的是数组中某两项
return a1-a2
});
alert(arr);
注: a1-a2 从小到大
a2-a1 从大到小
常用方法
1、清空一个数组
1). arr.splice(0,arr.length);
2). arr.length=0;
var arr=[1,3,5,2];
注:arr.length=3; //可以看出从后删除数组内容
alert(arr); //1,3,5
3). var n=arr.length; //定义n为arr.length,防止删除过程中,数组长度发生变化,数组不被全部清空
for(var i=0;i<n;i++){
arr.pop();
}
4).var n=arr.length;
for(var i=0;i<n;i++){
arr.splice(0,1);
}
5).while(arr.length){
arr.shift();
}
6).while(arr.length){
arr.shift();
}
2、删除数组中的偶数
1.for(var i=0;i<arr.length;i++){
if(arr[i]%2!=0){
arr1.push(arr[i]);
}
}
2.for(var i=0;i<arr.length;i++){
if(arr[i]%2==0){ //2的倍数删除
arr.splice(i,1);
i--; //删除后,后一位向前,与i对应,需要i--,判断后一位
}
}
3、数组去重
1)function findInArr(n,arr){ //判断是否重复的函数
for(var i=0;i<arr.length;i++){
if(arr[i]==n){
return true
}
}
return false
}
var arr=[1,2,3,4,3,4,6,1];
var arr2=[];
for(var i=0;i<arr.length;i++){
if(!findInArr(arr[i],arr2)){
arr2.push(arr[i]);
}
}
alert(arr2);
2)、var arr=[12,12,3,1,2,4,12,23,1];
var json={}; //利用json名相同时不重复的特性
var arr2=[];
for(var i=0;i<arr.length;i++){
//arr[i]
json[arr[i]]=2;
}
console.log(json);
for(var key in json){
arr2.push(key);
}
3)、利用排序,删掉重复的
arr.sort();
for(var i=0;i<arr.length;i++){
if(arr[i]==arr[i+1]){
arr.splice(i,1);
i--;
}
}