當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JavaScript学习总结(八)——JavaScript数组
生活随笔
收集整理的這篇文章主要介紹了
JavaScript学习总结(八)——JavaScript数组
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
轉載自? ?JavaScript學習總結(八)——JavaScript數組
JavaScript中的Array對象就是數組,首先是一個動態數組,無需預先制定大小,而且是一個像Java中數組、ArrayList、Hashtable等的超強綜合體。
一、數組的聲明
常規方式聲明:
1、var arrName = new Array();//創建一個數組
2、var?arrName?= new Array([size]); //創建一個數組并指定長度,注意不是上限,是長度
3、var?arrName?=new Array("孤傲蒼狼","白虎神皇","滅世魔尊");//創建一個數組,并初始化數組的內容
注意:雖然var?arrName?= new Array([size]);指定了長度,但實際上所有情況下數組都是變長的,也就是說即使指定了長度為2,仍然可以將元素存儲在規定長度以外的,注意:這時長度會隨之改變。
Array的簡化聲明
1、普通數組初始化:var arr = [3, 5, 6, 8, 9];
范例1:
<script type="text/javascript">//JavaScript聲明數組的四種方式var arr1 = new Array();//創建一個空數組arr1[0]="xdp";arr1[1]="gacl";var arr2 = new Array(2);//創建一個數組并指定長度為2arr2["name0"]="xdp";//arr2第一個元素arr2["name1"]="gacl";//arr2第二個元素arr2["name2"]="xtxd";//arr2第三個元素,arr2雖然在聲明時指明了長度為2,但是還是可以添加超過其指明長度的元素var arr3 = new Array("孤傲蒼狼","白虎神皇","滅世魔尊");//創建一個數組并初始化數組中的元素var arr4 = [1,true,"String"];//Array的簡化聲明document.write("遍歷arr1中的元素:<br/>");for(var i in arr1) {document.write(arr1[i]+"<br/>");}document.write("-----------------------------------------------------------------------------<br/>");document.write("遍歷arr2中的元素:<br/>");for(var i in arr2) {document.write("arr2[\""+i+"\"]="+arr2[i]+"<br/>");}document.write("-----------------------------------------------------------------------------<br/>");document.write("遍歷arr3中的元素:<br/>");for(var i in arr3) {document.write(arr3[i]+"<br/>");}document.write("-----------------------------------------------------------------------------<br/>");document.write("遍歷arr4中的元素:<br/>");for(var i in arr4) {document.write(arr4[i]+"<br/>");}</script>運行結果:
范例2:
<script type="text/javascript">var names = new Array();//普通方式聲明數組,不需要指明數組的長度names[0] = "孤傲蒼狼";names[1] = "白虎神皇";names[2] = "滅世魔尊";for (var i = 0; i < names.length; i++) {document.write("names["+i+"] = "+names[i]);document.write("<br/>");}var pinyins = new Array();pinyins["人"] = "ren";pinyins["口"] = "kou";pinyins["手"] = "shou";document.write("pinyins[\"人\"] = "+pinyins["人"]);document.write("<br/>");document.write("pinyins.手 = "+pinyins.手);//像Hashtable、Dictionary那樣用,而且像它們一樣效率高。document.write("<br/>");//Array的簡化聲明var arr1 = [3, 5];//普通數組初始化for (var i = 0; i < arr1.length; i++) {document.write("arr1["+i+"] = "+arr1[i]);document.write("<br/>");} </script>運行結果:
二、數組練習
Ferris寫過一個數組的案例,以下就是他的案例代碼,挺全的,思路也挺好!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>數組練習:各種數組方法的使用</title> <style> div{color:green;padding:10px 15px;margin:12px 0;background:#f0f0f0;border:1px dotted #333;font:12px/1.5 Courier New;word-wrap:break-word;} </style> <script type="text/javascript"> window.onload = function () {var aDiv = document.getElementsByTagName("div");var aInput = document.getElementsByTagName("input");var i = 0;var bS1 = bS2 = true;var aTmp = [];//刪除/添加第一項aInput[0].onclick = function (){aTmp = getArray(aDiv[0].innerHTML);bS1 ?//刪除第一項, shift()方法(aTmp.shift(), this.value = this.value.replace("刪除","添加"), bS1 = false) ://添加第一項, unshift()方法(aTmp.unshift("January(1)"), this.value = this.value.replace("添加","刪除"), bS1 = true);//輸出aDiv[0].innerHTML = aTmp.join()};//刪除/添加最后一項aInput[1].onclick = function (){aTmp = getArray(aDiv[0].innerHTML);bS2 ?//刪除最后一項, pop()方法(aTmp.pop(), this.value = this.value.replace("刪除","添加"), bS2 = false) ://添加最后一項, push()方法(aTmp.push("December(12)"), this.value = this.value.replace("添加","刪除"), bS2 = true);//輸出aDiv[0].innerHTML = aTmp.join()};//復制, concat()方法aInput[2].onclick = function (){aTmp = getArray(aDiv[1].innerHTML);//輸出aDiv[1].innerHTML = aTmp.concat(aTmp).toString().replace(/\s/g,"")};//還原, 利用數組的 length 特點aInput[3].onclick = function (){aTmp = getArray(aDiv[1].innerHTML);//設置數組長度aTmp.length = 10;//輸出aDiv[1].innerHTML = aTmp.join()};//第三組數據還原aInput[4].onclick = function (){aTmp = ["red","green","blue","white","yellow","black","brown"];//輸出aDiv[2].innerHTML = aTmp.join()};//刪除前三項aInput[5].onclick = function (){aTmp = getArray(aDiv[2].innerHTML);//刪除, 0開始, 刪除3個aTmp.splice(0, 3); //輸出aDiv[2].innerHTML = aTmp.join()};//刪除第二至三項aInput[6].onclick = function (){aTmp = getArray(aDiv[2].innerHTML);//刪除, 2開始, 刪除2個aTmp.splice(1, 2); //輸出aDiv[2].innerHTML = aTmp.join()};//在第二頂后插入"orange", "purple"aInput[7].onclick = function (){aTmp = getArray(aDiv[2].innerHTML);//插入, 2開始, 插入"orange", "purple"aTmp.splice(1, 0, "orange", "purple"); //輸出aDiv[2].innerHTML = aTmp.join()};//替換第二項和第三項aInput[8].onclick = function (){aTmp = getArray(aDiv[2].innerHTML);//插入, 2開始替換aTmp.splice(1, 2, "#009900", "#0000ff"); //輸出aDiv[2].innerHTML = aTmp.join()};//將div中的內容轉為數組//str div對象function getArray(str){aTmp.length = 0;str = str.split(",");for (var i in str)aTmp.push(str[i]);return aTmp} } </script> </head> <body> <div>January(1),February(2),March(3),April(4),May(5),June(6),July(7),Aguest(8),September(9),October(10),November(11),December(12)</div> <input value="刪除January(1)" type="button"> <input value="刪除December(12)" type="button"> <div>0,1,2,3,4,5,6,7,8,9</div> <input value="復制" type="button"> <input value="還原" type="button"> <div>red,green,blue,white,yellow,black,brown</div> <input value="還原" type="button"> <input value="刪除前三項" type="button"> <input value="刪除第二至三項" type="button"> <input value="在第二項后插入(orange, purple)" type="button"> <input value="替換第二項和第三項" type="button"></body></html>?
?
?
?
總結
以上是生活随笔為你收集整理的JavaScript学习总结(八)——JavaScript数组的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaScript学习总结(七)——J
- 下一篇: 组装电脑配置清单2022(组装电脑配置