国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JavaScript數組特性與實踐應用深入詳解

2024-05-06 15:43:44
字體:
來源:轉載
供稿:網友

本文實例講述了JavaScript數組特性與實踐應用。分享給大家供大家參考,具體如下:

JavaScript 提供了一種類似數組特性的對象,它把數組的下標變為字符串,作為對象的屬性。雖然它比一個真正的數組來的慢,但是使用起來很方便。

1 數組字面量

數組字面量是在一對方括號中包圍零個或多個用逗號分隔的值的表達式:

var empty = [];var numbers = [  'zero', 'one', 'two', 'three'];console.log(empty[1]);//undefinedconsole.log(numbers[1]);//oneconsole.log(empty.length);//0console.log(numbers.length);//4

數組對象繼承自 Array.prototype,所以 numbers 繼承了大量有用的方法。

JavaScript 允許數組包含任意混合類型的值:

var misc = [  'string', 11.3, false, true, null, undefined, ['nested', 'array'], {object: true}, NaN, Infinity];console.log(misc.length);//10

2 長度

數組有一個 length 屬性,但它是沒有上界的。如果用大等于當前 length 的數字作為下標來存儲元素,那么 length 屬性值會被增大以便容納新的元素,而不會發生數組越界現象哦O(∩_∩)O~

length 屬性的值很詭異,它是數組最大整數屬性名加 1,即它不一定等于數組的元素個數:

var myArray = [];console.log(myArray.length);//0//myArray 只包含一個屬性,但 length 的值等于這個數組最大整數的屬性名加 1myArray[100000] = true;console.log(myArray.length);//100001

[] 后置運算符會把它包含的表達式轉換為字符串,如果表達式有 toString() 方法,那么就會調用它。這個字符串被當做屬性名,如果這個字符串是一個大等于當前 length 值而且小于 4294967295 的正整數,那么這個數組的 length 就會被重置為新的下標加 1。

可以直接設置 length 的值。設置更大的 length 值不會為數組分配更多的空間;而把 length 設小則會導致所有下標大等于新的 length 的屬性被刪除:

//刪除元素numbers.length = 3;console.log(numbers);//[ "zero", "one", "two" ]

把下標指定為數組的當前 length,就可以把一個新元素附加到數組的尾部:

//新增元素numbers[numbers.length] = 'four';console.log(numbers);//[ "zero", "one", "two", "four" ]

使用 push() 可以更方便地實現同樣的功能:

//新增元素(push)numbers.push('good');console.log(numbers);//[ "zero", "one", "two", "four", "good" ]

3 刪除

JavaScript 數組就是對象,所以可以用 delete 移除元素:

delete numbers[2];console.log(numbers);//[ "zero", "one", <1 個空的存儲位置>, "four", "good" ]

可惜的是,這會在數組中留下一個空洞!而我們希望的是:刪除后,被刪除元素的后續元素會自動地往前移動。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 德惠市| 绩溪县| 资源县| 永定县| 宜丰县| 青河县| 城步| 桓台县| 北碚区| 皮山县| 河曲县| 台南市| 汪清县| 商都县| 温泉县| 留坝县| 水城县| 普兰店市| 贡嘎县| 克山县| 沙田区| 舒城县| 珠海市| 盘山县| 长海县| 靖边县| 忻城县| 五河县| 吕梁市| 金昌市| 金坛市| 灌云县| 阳朔县| 建水县| 浙江省| 泾源县| 岱山县| 肥西县| 武平县| 五原县| 太保市|