數組的常見基本操做分爲:賦值,查長度,添加push,刪除delete,遍歷for-in等。簡單數組是一維的,可是實際工做中,數組老是與對象結合使用,叫:數組對象。javascript
類型操做分爲:html
基本操做以下:java
清空整個數組(巧妙利用截取和數組長度來所有刪除)jquery
arr.splice(0,arr.length);
// 稀疏數組 // var a=[1,2,3,,] // alert(a.length) //返回4 // var b = new Array(5) // alert(b.length) //返回5 // var b = new Array(5) // b = [] // alert(b.length) //返回0 // var a1=[,,,] // alert(a1[0]) //返回undefined // alert(a1.length)//返回3 //【長度】-數組長度 (特別注意:length不單單能獲取數組的個數,還能刪除數組元素;) // a = [1,2,3,4,5] // a.length=3 //設置數組a長度爲3(此操做會將多的刪除) // alert(a) //【賦值】-數組元素的賦值 // var a = [1,2,3,4,5] // alert(a[1]) //返回2 // a[1]="chai" //賦值----索引賦值 // alert(a[1]) //返回chai //【添加】-數組元素的添加 // var a = [1,2,3,4,5] // a.push("chai") //在數組的末尾一個元素 // alert(a[5]) // a.push("yu","long") //在數組的末尾多個元素 // alert(a) //返回1,2,3,4,5,chai,yu,long //【刪除】-數組元素的刪除(特別注意:刪除元素並不會影響數組的length) // var a = [1,2,3,4,5] // delete a[0] //返回 // alert(a) //返回,2,3,4,5 // alert(a[0])//返回undefined // alert(a.length) //返回5 //如何刪除數組的最後一個元素? //【遍歷】-數組遍歷 for in 遍歷出元素 // var a = ["chai","yu","s","cool","hi"] // var x // for (x in a) // { // alert(a[x]) //這裏的x是元素; // } //【遍歷】-數組遍歷 for 遍歷出元素 // var a = ["chai","yu","s","cool","hi"] // alert(a[3]) // for (var i=0; i<a.length;i++) { // alert(a[i]) //i帶過來的只是數字,由於靜態的讀取是:數組名[索引值]的方式;遍歷時,將i反覆帶進來,便可得遍歷。 // // } //【查找索引值】-查找指定元素的索引值 // var a = ["chai","yu","long","ni","hao"] // alert(a.indexOf("yu")) //【截取】-根據數組-索引值-截取----返回新數組 // var a = ["chai","yu","long","ni","hao"] // // var b = a.slice(0,3) //從索引0開始,到索引2結束,但不包括索引3: // alert(b) //返回截取後的數組; // // var c = a.slice(3) //從索引3開始,截取到最後。 // alert(c) //返回截取後的數組; // // var d = a.slice() //不傳遞任何參數,它就會從頭至尾截取全部元素。利用這一點,咱們能夠很容易地複製一個Array: // alert(d) //返回整個數租 //【尾部刪除若干 push 和 尾巴刪除一個 pop】 // var a = ["chai","yu","long","ni","hao"] // a.push("ma","?") //在尾部添加一個或多個元素; // alert(a) //返回所有 chai,yu,long,ni,hao,ma,? // a.pop(); //刪除最後一個 // alert(a) //返回 chai,yu,long,ni,hao,ma //【頭部添加若干unshift 和 頭部刪除一個shift】 // var a = ["chai","yu","long","ni","hao"] // a.unshift("big","big2") // alert(a) // a.shift() // alert(a) //【排序:sort reverse-正序-倒序】 // var a = ["chai","yu","long","ni","hao"] // a.sort() // alert("正序:"+a) // a.reverse() // alert("倒序:"+a) //【splice:簡單將:刪除-添加。它能夠從指定的 (索引) 開始 (刪除 -若干) 元素,而後再從該位置(添加-若干)元素:】 // var a = ["chai","yu","long","ni","hao"] // a.splice(0,3,"gao","jing") //返回 gao,jing,ni,hao // alert(a) //【concat:數組鏈接】 //請注意,concat()方法並無修改當前Array,而是返回了一個新的Array。 // var a = ["chai","yu","long"] // var b = a.concat(["gao","jing"]) // alert(b) //【join:當前數組字符串連接】 //把當前Array的每一個元素都用指定的字符串鏈接起來,而後(返回鏈接後的字符串): //若是Array的元素不是字符串,將自動轉換爲字符串後再鏈接。 // var a = ["chai","yu","long",11,22] // // alert(a.join("/") ) //返回含有分隔符的數組 :chai/yu/long/11/22 // alert(a.join("") ) //能夠保留爲空,則返回:chaiyulong1122 // //接下來按這個博客來練習。 // http://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/00143449921138898cdeb7fc2214dc08c6c67827758cd2f000 var a = ["chai","yu","long",11,22] // alert(a.join("/") ) //返回含有分隔符的數組 :chai/yu/long/11/22 // alert(a.join("") ) //能夠保留爲空,則返回:chaiyulong1122
數組刪除詳講:數組
數組的刪除delete和splice用法區別 http://www.javashuo.com/article/p-wwvjrvrc-kg.html app
已有數組遍歷dom
projects=["更換機油","更換機濾","維修發動機","維修鈑金"]; for (var i=0;i<projects.length;i++) { $("#box1").append(projects[i] + "<br>"); }
已有數組遍歷spa
注意如下2種方式的區別:.net
//輸出數組下標 var a = [1, 2, 3]; for (x in a) { console.log(x); } |
//輸出數組值 var a = [1, 2, 3]; for (x in a) { console.log(a[x]); } |
//彈出索引值 // var projects=["更換機油","更換機濾","維修發動機","維修鈑金"]; // for(var e in projects){ // alert(e); // } //輸出數組值 var projects=["更換機油","更換機濾","維修發動機","維修鈑金"]; for(var e in projects){ alert(projects[e]); //由於數組訪問是用數組名+索引值方式:如 projects[2] 來操做的。 $("#box2").append(projects[e] + "<br>"); //塞進dom中 }
js以下code
var arr = [] //建立一個空數組 var box_all_li = $(".box ul li") var box_all_li_len = $(".box ul li").length; box_all_li_len = box_all_li_len-1 //alert( box_all_li_len ) //alert(box_all_li_len) // 遍歷從dom中取到文本,並追加到數組中 for( var i=0;i<box_all_li_len;i++) { //alert($(".box li").eq(i).text()) 取值 arr.push( $(".box ul li").eq(i).text() ) //向數組添加取到的值 }
html
<div class="box"> <ul> <li>空氣濾芯</li> <li>汽油濾清</li> <li>剎車片</li> <li>雨刮</li> <li>輪胎</li> <li>玻璃水</li> </ul> </div>
實例:01
js
$(function(){ function img_show(){ var img_group = ["1","2","3"] for(var i =0;i<img_group.length;i++){ img ='<img src='+'img/'+img_group[i]+'.jpg>'; $(".box").append(img); } } $(".btn").click(function(){ img_show() }) })
html
<button class="btn">顯示</button> <div class="box" style="border: 1px solid #000;"> </div>
實例:02
效果如圖:
js:
$(function(){ var imgarr = ["fd","jkc","vw","ly"] var n = 0; var len = imgarr.length //alert(len) $(".btn-next").click(function(){ if(n>=(len-1)) { return false; } //alert("當前下標是:"+n) n++; var img_src = "img/"+imgarr[n]+".jpg" $(".img").attr("src",img_src) }) $(".btn-pre").click(function(){ if(n<=0) { return false; } n--; var img_src = "img/"+imgarr[n]+".jpg" $(".img").attr("src",img_src) }) })
html
<button class="btn-pre">上一張</button> <button class="btn-next">下一張</button> <div class="box" style="border: 1px solid #000;"> <img src="img/fd.jpg" class="img"> </div>
jquery有專門對數組操做的方法:$.each(object, [callback])
/// 專門針對數組的方法 //前面爲數組(數組內置),i爲數組索引值,n爲內容 // $.each( ["超人","熊大","熊二"], function(i, n){ // alert( "它們是" + i + ": " + n ); // }); //通上,可是數組被外置了;這種寫法更規範; var arr = ["超人","熊大","熊二"] $.each(arr, function(i, n){ alert( n ); //此處只讀內容 });