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