摘要:數(shù)組數(shù)組的概念所謂數(shù)組就是用來存儲(chǔ)多個(gè)值的容器數(shù)組中的每一個(gè)值叫元素每個(gè)元素都有唯一的一個(gè)位置用數(shù)字表示的叫做索引數(shù)組用字符串表示叫關(guān)聯(lián)數(shù)組備注數(shù)組是無類型的沒有特定類型要求就是存啥都行注意數(shù)組是動(dòng)態(tài)的就是根據(jù)需要可以插入新的東西也可以刪
數(shù)組 數(shù)組的概念
所謂數(shù)組就是 - 用來存儲(chǔ)多個(gè)值的容器,數(shù)組中的每一個(gè)值叫元素,每個(gè)元素都有唯一的一個(gè)位置,用數(shù)字表示的叫做索引數(shù)組,用字符串表示叫關(guān)聯(lián)數(shù)組
備注: 數(shù)組是無類型的:沒有特定類型要求(就是存啥都行)
注意: 數(shù)組是動(dòng)態(tài)的:就是根據(jù)需要可以插入新的東西,也可以刪除指定的元素
一維數(shù)組 定義數(shù)組就是只有一個(gè)行或者一個(gè)列
一維數(shù)組分為三種:
1.字面量/直接量方式:
語法:
var 數(shù)組名稱 = [元素1,元素2,元素3,...]
注意: 變量聲明后只寫一個(gè)中括號(hào)"[]" - 表示定義一個(gè)空數(shù)組
示例代碼:
/* 變量聲明(設(shè)置數(shù)組名稱)并給數(shù)組賦值 */ var arr1 = [];// 調(diào)用結(jié)果為 [] - 表示空數(shù)組 var arr2 = [1000,"一花一世界",true];// 調(diào)用結(jié)果為 [ 1000, "一花一世界", true ] console.log(arr1);// 調(diào)用結(jié)果為 [] console.log(arr2);// 調(diào)用結(jié)果為 [ 1000, "一花一世界", true ]
控制臺(tái)調(diào)用結(jié)果圖:
2.構(gòu)造函數(shù)方式:
語法:
var 數(shù)組名稱 = new Array(元素1,元素2,元素3,...)
var 數(shù)組名稱 = new Array(length)
length - number類型, 表示數(shù)組的長(zhǎng)度(也是存在元素的個(gè)數(shù))的意思
注意: 變量聲明后new Array()小括號(hào)"()"中不填寫任何內(nèi)容 - 表示定義一個(gè)空數(shù)組
示例代碼:
var arr3 = new Array();//調(diào)用結(jié)果為 [] - 表示空數(shù)組 var arr4 = new Array(1000,"一花一世界",true);// 調(diào)用結(jié)果為 [ 1000, "一花一世界", true ] console.log(arr3);// 調(diào)用結(jié)果為 [] console.log(arr4);// 調(diào)用結(jié)果為 [ 1000, "一花一世界", true ]
控制臺(tái)調(diào)用結(jié)果圖:
3.函數(shù)方式:
語法:
var 數(shù)組名稱 = Array(元素1,元素2,元素3,...)
var 數(shù)組名稱 = Array(length)
length - number類型,表示數(shù)組的長(zhǎng)度(也是存在元素的個(gè)數(shù))的意思
示例代碼:
var arr7 = Array();// 調(diào)用結(jié)果為 [] - 表示空數(shù)組 var arr8 = Array(1000,"一花一世界",true);// 調(diào)用結(jié)果為 [ 1000, "一花一世界", true ] var arr9 = Array(10);// 調(diào)用結(jié)果為 [ <10 empty items> ] - 表示個(gè)是數(shù)組的長(zhǎng)度為10個(gè) console.log(arr7);// 調(diào)用結(jié)果為 [] console.log(arr8);// 調(diào)用結(jié)果為 [ 1000, "一花一世界", true ] console.log(arr9);// 調(diào)用結(jié)果為 [ <10 empty items> ]
控制臺(tái)調(diào)用結(jié)果圖:
注意:
字面量/直接量方式中的中括號(hào)"[]"中直接寫"10"就是表示數(shù)組的意思
構(gòu)造函數(shù)方式中new Array()小括號(hào)中"()"直接寫"10"是表示數(shù)組的長(zhǎng)度
函數(shù)方式和構(gòu)造函數(shù)方式一樣
示例代碼:
var arr6 = [10];//調(diào)用結(jié)果為 [10] var arr5 = new Array(10);// 調(diào)用結(jié)果為 [ <10 empty items> ] - 表示個(gè)是數(shù)組的長(zhǎng)度為10個(gè) console.log(arr5);// 調(diào)用結(jié)果為 [ <10 empty items> ] - 表示個(gè)是數(shù)組的長(zhǎng)度為10個(gè) console.log(arr6);// 調(diào)用結(jié)果為 [10]
控制臺(tái)調(diào)用結(jié)果圖:
索引數(shù)組就是表示數(shù)組中元素的位置.用數(shù)字值表示
數(shù)字值表示元素的位置 - 叫角標(biāo)或下標(biāo)
數(shù)組的長(zhǎng)度與元素的個(gè)數(shù)是一致的
注意: 索引數(shù)組的角標(biāo)是從0開始的
示例代碼:
var arr = [];// 定義一個(gè)空數(shù)組 arr [0] = "一花一世界"; arr [1] = true; console.log(arr);// 調(diào)用結(jié)果為 [ "一花一世界", true ] console.log(arr.length);// 調(diào)用結(jié)果為 2 - 表示被調(diào)用數(shù)組的長(zhǎng)度和元素個(gè)數(shù)是 2 個(gè)
控制臺(tái)調(diào)用結(jié)果圖:
關(guān)聯(lián)數(shù)組就是表示數(shù)組中元素的位置使用字符串表示
注意: 關(guān)聯(lián)數(shù)組的長(zhǎng)度與元素的個(gè)數(shù)不一致
原因: JavaScript的官方目前不支持關(guān)聯(lián)數(shù)組
所以: 關(guān)聯(lián)數(shù)組目前無法調(diào)用到元素的個(gè)數(shù)和長(zhǎng)度
示例代碼:
var arr = [];// 定義一個(gè)空數(shù)組 arr["name"] = "孫悟空"; arr["age"] = 500+"歲"; arr["job"] = "取經(jīng)"; console.log(arr);// 調(diào)用結(jié)果為 [ name: "孫悟空", age: "500歲", job: "取經(jīng)" ] console.log(arr.length);// 調(diào)用結(jié)果為 0
控制臺(tái)調(diào)用結(jié)果圖:
索引數(shù)組的位置允許不連續(xù) - 沒有定義元素的位置默認(rèn)為空(undefined)
稀疏數(shù)組 - 數(shù)組的長(zhǎng)度與元素的個(gè)數(shù)不一致
備注:
得到undefined值的幾種方式:
定義變量,但未初始化值
定義變量,并初始化值為undefined
訪問數(shù)組中未定義的位置的元素值(默認(rèn)為undefined)
示例代碼:
var arr = [];// 定義一個(gè)空數(shù)組 arr[0] = "孫悟空"; arr[2] = 500+"歲"; arr[5] = "取經(jīng)"; console.log(arr);// 調(diào)用結(jié)果為 [ "孫悟空", <1 empty item>, "500歲", <2 empty items>, "取經(jīng)" ] console.log(arr.length);//調(diào)用結(jié)果為 6 /* 處理稀疏數(shù)組,得到正常的索引值 */ var newArr = []; /* 利用循環(huán)語句獲取出所有的undefined */ for (var i = 0; i控制臺(tái)調(diào)用結(jié)果圖:
訪問數(shù)組的元素注意: 調(diào)用數(shù)組名稱時(shí),得到的只是存儲(chǔ)的所有元素?cái)?shù)據(jù)的集合
注意: 數(shù)組默認(rèn)定義未索引數(shù)組
注意: JavaScript中的關(guān)聯(lián)數(shù)組可以定義和訪問
如果訪問了數(shù)組中未定義的位置元素,首先語法不報(bào)錯(cuò),其次結(jié)果為undefined
注意: 索引數(shù)組中的索引值最大為 arr.length - 1
就是索引值最大的減 1
比如: 上面的索引數(shù)組有三個(gè)元素 - 就是 3 - 1
因?yàn)? 索引數(shù)組的索引值第一個(gè)是 0
示例代碼:
/* 定義數(shù)組的默認(rèn)為索引數(shù)組 */ var arr = ["一花一世界",1000,true]; /* 調(diào)用數(shù)組名稱時(shí),得到的是存儲(chǔ)所有元素?cái)?shù)據(jù)的集合 */ console.log(arr);// 調(diào)用結(jié)果為 [ "一花一世界", 1000, true ] /* 調(diào)用索引數(shù)組中的元素 - 用法: 數(shù)組名稱[索引值] */ console.log(arr[0]);// 調(diào)用結(jié)果為 一花一世界 console.log(arr[4]);// 調(diào)用結(jié)果為 undefined //關(guān)聯(lián)數(shù)組 var arr = [];// 定義一個(gè)空數(shù)組 arr["name"] = "孫悟空"; arr["age"] = 500+"歲"; arr["job"] = "取經(jīng)"; console.log(arr["name"]);// 調(diào)用結(jié)果為 孫悟空數(shù)組的復(fù)制表示一個(gè)數(shù)組對(duì)另一個(gè)數(shù)組進(jìn)行復(fù)制
復(fù)制分為深復(fù)制和淺復(fù)制
示例代碼:
// 變量聲明并賦值 var v = 100; // 變量聲明并賦值 var result = v; console.log(v);// 調(diào)用結(jié)果為 100 console.log(result);// 調(diào)用結(jié)果為 100 v = 200; console.log(result);// 調(diào)用結(jié)果為 100 var arr1 = ["一花一世界",true]; var arr2 = arr1; console.log(arr1);// 調(diào)用結(jié)果為 [ "一花一世界", true ] console.log(arr2);// 調(diào)用結(jié)果為 [ "一花一世界", true ] arr1 = [100]; console.log(arr1);// 調(diào)用結(jié)果為 [ 100 ] console.log(arr2);// 調(diào)用結(jié)果為 [ "一花一世界", true ] arr1[0] = 100; console.log(arr1);// 調(diào)用結(jié)果為 [ 100 ] console.log(arr2);// 調(diào)用結(jié)果為 [ "一花一世界", true ]分析圖:
數(shù)組的修改表示對(duì)數(shù)組中的數(shù)據(jù)值進(jìn)行修改
通過數(shù)組的索引值找到對(duì)應(yīng)元素的位置,在通過對(duì)指定數(shù)據(jù)進(jìn)行重新賦值來完成數(shù)組修改
示例代碼:
// 索引數(shù)組 var arr1 = []; arr1[0] = "一花一世界"; arr1[1] = true; // 關(guān)聯(lián)數(shù)組 var arr2 = [];// 定義一個(gè)空數(shù)組 arr2["name"] = "孫悟空"; arr2["age"] = 500+"歲"; arr2["job"] = "取經(jīng)"; // 通過數(shù)組的索引值找到對(duì)應(yīng)元素的位置, 再通過重新賦值的操作進(jìn)行修改 arr1[1] = "一葉一孤城"; console.log(arr1);// 調(diào)用結(jié)果為 [ "一花一世界", "一葉一孤城" ] arr2["job"] = "打妖怪"; console.log(arr2);// 調(diào)用結(jié)果為 [ name: "孫悟空", age: "500歲", job: "打妖怪" ] // 如果是新的索引值,就是給數(shù)組新增一個(gè)元素 arr1[2] = "極樂凈土"; console.log(arr1);// 調(diào)用結(jié)果為 [ "一花一世界", "一葉一孤城", "極樂凈土" ]控制臺(tái)調(diào)用效果圖:
數(shù)組的刪除表示對(duì)數(shù)組中的數(shù)據(jù)值進(jìn)行刪除
使用delete運(yùn)算符來刪除數(shù)據(jù)值
但是只刪除數(shù)據(jù)值,不刪除數(shù)據(jù)值所占的位置空間
注意: 數(shù)組進(jìn)行刪除后會(huì)變成稀疏數(shù)組
示例代碼:
// 索引數(shù)組 var arr1 = []; arr1[0] = "一花一世界"; arr1[1] = true; /* 使用 delete 運(yùn)算符進(jìn)行刪除數(shù)組的元素 * 注意: 只是刪除元素內(nèi)容,而對(duì)應(yīng)的位置會(huì)被保留 */ delete arr1[1]; console.log(arr1);//調(diào)用結(jié)果為 [ "一花一世界", <1 empty item> ] console.log(arr1.length);//調(diào)用結(jié)果為 2 // 關(guān)聯(lián)數(shù)組 var arr2 = [];// 定義一個(gè)空數(shù)組 arr2["name"] = "孫悟空"; arr2["age"] = 500+"歲"; arr2["job"] = "取經(jīng)"; delete arr2["age"]; console.log(arr2);// 調(diào)用結(jié)果為 [ name: "孫悟空", job: "取經(jīng)" ] console.log(arr2.length);// 調(diào)用結(jié)果為 0控制臺(tái)調(diào)用效果圖:
循環(huán)遍歷數(shù)組示例代碼:
var arr = ["一花一世界", 101, true, undefined]; // while語句 /*var i = 0; while (i < arr.length){ console.log(arr[i]); i++; }*/ // do...while語句 /*var i = 0; do { console.log(arr[i]); i++; } while (i < arr.length);*/ // for語句 for (var i=0; i控制臺(tái)調(diào)用效果圖:
for...in語句注意: for..in語句可以循環(huán)遍歷關(guān)聯(lián)數(shù)組, for語句不行
注意: for..in語句循環(huán)遍歷稀疏數(shù)組(直接得到有效元素值), for語句不行
示例代碼:
// 關(guān)聯(lián)數(shù)組的length屬性為 0 var arr1 = []; arr1["name"] = "孫悟空"; arr1["age"] = 500+"歲"; arr1["job"] = "取經(jīng)"; /*for (var i=0; i
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/96779.html
摘要:類型檢測(cè)數(shù)組示例代碼調(diào)用結(jié)果為方法作用用于判斷當(dāng)前對(duì)象的數(shù)據(jù)類型結(jié)果特點(diǎn)可以準(zhǔn)確判斷出當(dāng)前變量的類型調(diào)用結(jié)果為調(diào)用結(jié)果為報(bào)錯(cuò)調(diào)用結(jié)果為調(diào)用結(jié)果為方法判斷指定類型是否出現(xiàn)在當(dāng)前對(duì)象的原型鏈中調(diào)用結(jié)果為轉(zhuǎn)換數(shù)組提供了兩種方法用于數(shù)組的轉(zhuǎn) Array類型 檢測(cè)數(shù)組 示例代碼: var arr = [1,2,3,4,5]; console.log(arr instanceof Array);/...
摘要:類型大小寫轉(zhuǎn)換表示將小寫內(nèi)容轉(zhuǎn)換為大寫內(nèi)容表示將大小內(nèi)容轉(zhuǎn)換為小寫內(nèi)容示例代碼構(gòu)造函數(shù)方式表示將小寫內(nèi)容轉(zhuǎn)換為大寫內(nèi)容表示將大小內(nèi)容轉(zhuǎn)換為小寫內(nèi)容調(diào)用結(jié)果為調(diào)用結(jié)果為控制臺(tái)調(diào)用效果圖根據(jù)指定位置獲取字符串表示通過指定字符串中指定字符 String類型 大小寫轉(zhuǎn)換 toUpperCase() - 表示將小寫內(nèi)容轉(zhuǎn)換為大寫內(nèi)容 toLowerCase() - 表示將大小內(nèi)容轉(zhuǎn)換為小寫內(nèi)容...
摘要:嚴(yán)格模式嚴(yán)格模式的概念所謂嚴(yán)格模式就是對(duì)中的一種限制性更強(qiáng)的方式屬于代碼的一種強(qiáng)制規(guī)則來規(guī)范代碼的格式簡(jiǎn)單的說就是必須按照嚴(yán)格模式的規(guī)則書寫代碼否則就會(huì)報(bào)錯(cuò)嚴(yán)格模式修正了一些引擎難以優(yōu)化的錯(cuò)誤同樣的代碼有些時(shí)候嚴(yán)格模式會(huì)比非嚴(yán)格模式下更加快 嚴(yán)格模式 嚴(yán)格模式的概念 所謂嚴(yán)格模式就是對(duì)JavaScript中的一種限制性更強(qiáng)的方式. 屬于代碼的一種強(qiáng)制規(guī)則,來規(guī)范代碼的格式簡(jiǎn)單的說就是...
摘要:類型與函數(shù)的概念函數(shù)這樣的一段代碼它只定義一次但是可能被執(zhí)行或調(diào)用多次類型是提供的引用類型之一通過類型創(chuàng)建對(duì)象在中函數(shù)也是對(duì)象的形式存在注意每個(gè)函數(shù)都是以個(gè)對(duì)象與函數(shù)函數(shù)聲明方式示例代碼一笑一人生字面量方式示例代碼一花一世界判斷函數(shù)是否為類 Function類型 Function與函數(shù)的概念 函數(shù)這樣的一段JavaScript代碼,它只定義一次,但是可能被執(zhí)行或調(diào)用多次 Functi...
摘要:函數(shù)函數(shù)的概述所謂函數(shù)就是只被定義一次但可能被執(zhí)行或調(diào)用多次變量與函數(shù)的區(qū)別變量存的是數(shù)據(jù)內(nèi)容而函數(shù)存的是語句塊定義函數(shù)備注定義函數(shù)時(shí)函數(shù)體的內(nèi)容不會(huì)被執(zhí)行調(diào)用函數(shù)時(shí)函數(shù)體才被執(zhí)行注意一般以個(gè)函數(shù)就去完成一個(gè)功能函數(shù)聲明方式語法函數(shù)名稱 函數(shù) 函數(shù)的概述 所謂函數(shù)就是只被定義一次,但可能被執(zhí)行或調(diào)用多次 變量與函數(shù)的區(qū)別: 變量存的是數(shù)據(jù)內(nèi)容而函數(shù)存的是語句塊 定義函數(shù) 備注: ...
閱讀 2171·2023-04-25 20:45
閱讀 1084·2021-09-22 15:13
閱讀 3649·2021-09-04 16:48
閱讀 2587·2019-08-30 15:53
閱讀 936·2019-08-30 15:44
閱讀 953·2019-08-30 15:43
閱讀 1011·2019-08-29 16:33
閱讀 3439·2019-08-29 13:08