您的位置:首页 > Web前端 > JavaScript

Js数组常用方法

2017-03-06 17:54 246 查看
数组声明的两种方式:

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


length的用法:

var arr=[1,2,1];
console.log(arr.length) // 数组的长度
arr.length=2; //剪短数组
console.log(arr);
arr.length=5;
console.log(arr);// 增长数组  [1,2,1,,]
arr.length=0;
console.log(arr);//清空数组


数组常用方法:

数组尾部的移除pop()和追加push();

var arr=[1,2,3];
var a=arr.push("5");
console.log(a)// 4
console.log(arr);// [1, 2, 3, "5"] push()在数组的尾部追加一个元素并返回数组长度
var b=arr.pop();// 5 从数组的尾部移除一个值并返回移除的值
console.log(b);


数组头部的移除unshift()和追加shift();

var c=arr.unshift("4");
console.log(c);// 4 从数组头部添加一个元素,并返回数组长度
var d=arr.shift();
console.log(d);// 4 从数组头部移除一个元素,并返回移除的值


数组的链接concat();join()和转换split():

var arr=[1,2,3,"a"]
var arr1=["a",'b',"c"]
var arr2=[0]
var arr3=[];
var newArr=arr.concat(arr1,arr2);
console.log(newArr);// [1, 2, 3, "a", "a", "b", "c", 0]  concat()方法用于连接数组返回一个新的数组,可以同时连接两个或以上的数组
newArr=newArr.concat("张");
console.log(newArr)//[1, 2, 3, "a", "a", "b", "c", 0, "张"] concat也可以用于将元素连接到数组,可以用于数组的添加
var a=newArr.join("+");
console.log(a)//1+2+3+a+a+b+c+0+张 join()用于指定特定的分割符来将数组连接成特定的字符串
arr3=a.split("+");
console.log(arr3);  //["1", "2", "3", "a", "a", "b", "c", "0", "张"]  与join相逆的过程,用于将字符串转换成数组


数组的反转reverse()和复制:

var arr1=[1,9,10,5,4];
arr1.reverse();
console.log(arr1);// [4, 5, 10, 9, 1] 数组的反转
var arr2=[];
for (var i = 0; i < arr1.length; i++) {
arr2[i]=arr1[i]
};
console.log(arr2); //[4, 5, 10, 9, 1] 数组的复制,而不是复制地址


数组的中间插入和删除splic():

var arr=[1,2,3,4];
arr.splice(2,1,"a","b");
console.log(arr);// [1, 2, "a", "b", 4] 2:索引值 1:删除的数量 a,b添加的元素
arr.splice(1,0,"c");
console.log(arr);//[1, "c", 2, "a", "b", 4]
arr.splice(3,1,"d");
console.log(arr)//[1, "c", 2, "d", "b", 4]
arr.splice(5,1)
console.log(arr)//[1, "c", 2, "d", "b"]
arr.splice(0,0,"g");
console.log(arr)


获取数组中间片段:

var arr=[1,2,3,4,5];
var newArray=arr.slice(1,3);//[2,3] 获取数组的中间片段,从索引1开始,到3结束,不包括3,返回一个新的数组
var newArray1=arr.slice(-3,-1);//[3,4]倒着数,或者加上数组length


数组的排序sort():

var arr=["ad","fc","www","gg"];
var arr1=[11,5,6,22,15];
arr.sort(); //["ad", "fc", "gg", "www"]
arr1.sort();//[11, 15, 22, 5, 6]  sort()的排序是字符串比较,实际上是比较unicode编码
console.log(arr,arr1);
arr1.sort(function(a,b){return a-b})
console.log(arr1) // [5, 6, 11, 15, 22]
arr1.sort(function(a,b){return b-a})
console.log(arr1) // [22, 15, 11, 6, 5]


关联数组:

var arr=[];
arr["name"]="张三";
arr["height"]="180";
for(var key in arr){
console.log(key+":"+arr[key]);
}


一些简单的小练习:

数组求和:

var result=0;
var arr=[8,4,2,1,23,345,12];
for (var i = 0; i < arr.length; i++) {
result+=arr[i]
}
console.log(result)


比较数组的最大值和最小值:

var arr=[1000,2,255,190,156,25]
var max=0;
var min=0;
for (var i = 0; i < arr.length; i++) {
if(max<arr[i]){
max=arr[i]
}
if(min>arr[i]){
min=arr[i]
}
}
console.log(max,min)


闰年年份判定:

var n=0;
var year=2000;
while(n<5){
if((year%4==0&&year%100!=0)||(year%400==0)){
console.log(year)
n++;
}
year++;
}


判断字符串中的最长单词:

var str="There are moments in life when you miss someone so much that you just want to pick them from your dreams and hug them for real! Dream what you want to dream;go where you want to go;be what you want to be,because you have only one life and one chance to do all the things you want to do."
var arr=str.split(" ");// split() 将字符串转化为数组
var index=0;
var maxLength=0;
for (var i = 0; i < arr.length; i++) {  //遍历数组
if(arr[i].length>maxLength){  //str.length 字符串的长短
maxLength=arr[i].length;
index=i;// index 数组索引值常用变量
}
};
console.log("最长的单词为:"+arr[index])
console.log("最长的单词长度为:"+index)


表格输出字符串:

var str="There are moments in life when you miss someone so much that you just want to pick them from your dreams and hug them for real! Dream what you want to dream;go where you want to go;be what you want to be,because you have only one life and one chance to do all the things you want to do."
var arr=str.split(" ");    // split() 将字符串转化为数组
var html="";
html+="<table>"
+"<tr>"
+"<th>"+"索引值"+"</th>"
+"<th>"+"单词"+"</th>"
+"<th>"+"长度"+"</th>"
+"</tr>"
for (var i = 0; i < arr.length; i++) {
html+="<tr>"
+"<td>"+i+"</td>"
+"<td>"+arr[i]+"</td>"
+"<td>"+arr[i].length+"</td>"
+"</tr>"
};
html+="</table>"
document.write(html);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript