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