javascript
javascript数组的属性、方法和清空-最全!!!(必看)
今天經(jīng)理要我從新看一遍js,當(dāng)我再看《精通js和jquery》這本書時(shí),發(fā)現(xiàn)關(guān)于數(shù)組的這章節(jié)講的很少,于是想自己總結(jié)一下數(shù)組的常用方法。
定義數(shù)組:
var?arr?=?new?Array(12);
arr[10]?=?“cmc”;
var?arr?=?new?Array(); //無法確定一個(gè)數(shù)組的長度時(shí)
var?arr?=?[“chen”,”liu”,”huang”];
var?arr?= new Array(?[“chen”,”liu”,”huang”]);
var a = new Array(5); //指創(chuàng)建長度為5的數(shù)組
var a = new Array([5]); //指創(chuàng)建一個(gè)數(shù)組,長度為1,并且第一位是5
數(shù)組屬性:
1. length屬性:Length屬性表示數(shù)組的長度,即其中元素的個(gè)數(shù)。因?yàn)閿?shù)組的索引總是由0開始,所以一個(gè)數(shù)組的上下限分別是:0和length-1。和其他大多數(shù)語言不同的是,
JavaScript數(shù)組的length屬性是可變的,這一點(diǎn)需要特別注意。arr.length=0;,這就是一種清空js數(shù)組的方式
2. constructor 指定建立地象原型(prototype)函數(shù)?
3. index 代表數(shù)組組件的索引值?
4.prototype 用以建立自定義的對(duì)象屬性?
數(shù)組方法:
toString 將數(shù)組轉(zhuǎn)為String
concat ? 方法:返回一個(gè)新數(shù)組,這個(gè)新數(shù)組是由兩個(gè)或更多數(shù)組組合而成的。array1.concat([item1[, ? item2[, ? . ? . ? . ? [, ? itemN]]]])
join ? 方法 ? :返回字符串值,其中包含了連接到一起的數(shù)組的所有元素,元素由指定的分隔符分隔開來。arrayObj.join(separator) 與C#不同的是這里是直接通過數(shù)組調(diào)用出來返回給一個(gè)字符串.
split ?方法 ?:返回?cái)?shù)組 基本和C#一樣 ?var s="1_2_3"; var ary=s.split("_"); 參數(shù)是字符串而不是字符
pop ? 方法 ? :移除數(shù)組中的最后一個(gè)元素并返回該元素。arrayObj.pop()
push ? 方法 ? :將新元素添加到一個(gè)數(shù)組中,并返回?cái)?shù)組的新長度值。arrayObj.push([item1 ? [item2 ? [. ? . ? . ? [itemN ? ]]]])
reverse ? 方法 ? :返回一個(gè)元素順序被反轉(zhuǎn)的 ? Array ? 對(duì)象。arrayObj.reverse( ? ) 注意這里是返回一個(gè) 原來的數(shù)組而不是創(chuàng)建了一個(gè)新的數(shù)組.
shift ? 方法 ? :移除數(shù)組中的第一個(gè)元素并返回該元素。arrayObj.shift( ? )
slice ? 方法 ? :返回一個(gè)數(shù)組的一段。arrayObj.slice(start, ? [end]) ?
sort ? 方法 ? :返回一個(gè)元素已經(jīng)進(jìn)行了排序的 ? Array ? 對(duì)象。arrayobj.sort(sortfunction) ?
? ? ? ? ? ? ? ?如果 sort()里面沒有參數(shù)那么將按照字母順序排列
? ? ? ? ? ? ? ?如果要用從大到小順序排列里面需要帶參數(shù)sort(function(a,b){return b-a});
splice ? 方法 ? :從一個(gè)數(shù)組中移除一個(gè)或多個(gè)元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。arrayObj.splice(start, ? deleteCount, ? [item1[, ? item2[, ? . ? . ? . ? [,itemN]]]])
unshift ? 方法 ? :將指定的元素插入數(shù)組開始位置并返回該數(shù)組。arrayObj.unshift([item1[, ? item2 ? [, ? . ? . ? . ? [, ? itemN]]]]) 在IE下無效,返回undefined fox下可以
alert(arr01.split(“”).reverse().join(“”));//先將每個(gè)字符分割為一個(gè)數(shù)組,然后反序數(shù) 組,最后將數(shù)組無連接符的轉(zhuǎn)化為字符串,反轉(zhuǎn)數(shù)組的字符
數(shù)組的三種清空方法:
方式1,splice?
var ary = [1,2,3,4]; ary.splice(0,ary.length); console.log(ary); // 輸出 [],空數(shù)組,即被清空了 方式2,length賦值為0?
目前 Prototype中數(shù)組的?clear?和mootools庫中數(shù)組的?empty?使用這種方式清空數(shù)組。
int[] ary = {1,2,3,4}; ary.length = 0; 方式3,賦值為[]?
這里其實(shí)并不能說是嚴(yán)格意義的清空數(shù)組,只是將ary重新賦值為空數(shù)組,之前的數(shù)組如果沒有引用在指向它將等待垃圾回收。
Ext庫Ext.CompositeElementLite類的?clear?使用這種方式清空。
var ary = [1,2,3,4]; ary = []; // 賦值為一個(gè)空數(shù)組以達(dá)到清空原數(shù)組
清空方式的選擇:
由于第三種它只是重新給數(shù)組賦值,將其覆蓋。并不是真正意義的清空,所以他的效率比較高。第一種過于繁瑣,而第二種是真的清空,又很簡單,所以一般使用推薦第二種。
總結(jié)
以上是生活随笔為你收集整理的javascript数组的属性、方法和清空-最全!!!(必看)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于mysql的update、delet
- 下一篇: SpringMVC接收json数组对象