前端開發筆記(二十三)

首頁 > 科技

前端開發筆記(二十三)

來源:喜劇西西 釋出時間:2023-08-25 16:41

JS篇 ⑨

01 陣列①

定義

一個包含了多個值的物件通常被描述為“像列表一樣的物件”一組資料的集合,儲存在單個變數名下的優雅方式

建立陣列

利用new建立陣列:var arr = new Array();利用陣列字面量建立陣列:var arr = [];數組裡面的資料一定用逗號分隔,如:var arr1 = [1, 2, "hello", true];

獲取陣列元素

陣列元素:數組裡面的資料*陣列名[索引號]*,索引號從0開始vararr1= [1, 2, "hello", true];console.log(arr1[3]); // trueconsole.log(arr1[4]); // 由於沒有這個陣列元素 所以輸出的結果是 undefined

陣列長度

陣列名.length陣列的長度是元素個數,不要跟索引號攪渾vararr1= [1, 2, "hello", true];console.log(arr1.length); // 4

遍歷陣列

把陣列的元素從頭到尾訪問一次vararr= ["red", "green", "blue"];for (vari=; i<3; i++) {console.log(arr[i]); // red, green, blue}由於陣列索引號從0開始,所以 i 必需從0開始

02 陣列②

檢測是否為陣列

變數名 instanceof ArrayArray.isArray(變數名)

案例:求陣列[2,6,1,77,52,25,7]中的最大值vararr= [2, 6, 1, 77, 52, 25, 7, 99];varmax=arr[];for (vari=1; i<arr.length; i++) {if (arr[i] >max) {max=arr[i]; }}console.log(max); // 99

陣列轉為字串案例:將陣列 ["red", "green", "blue", "pink"] 轉換為字串,並且用 | 或其他符號分割

遍歷,將每個資料分別拿出來,後面加分隔符vararr= ["red", "green", "blue", "pink"];varstr="";varsep="|";for (vari=; i<arr.length-1; i++) {str+=arr[i] +sep;}str+=arr[arr.length-1];console.log(str);arr.join(分隔符)vararr= ["red", "green", "blue", "pink"];console.log(arr.join("|"));

新增陣列元素

直接修改陣列長度:多於原來的長度,多出的數,值為undefined;少於原來的長度,按索引號順序將後面的去掉vararr= ["red", "green", "blue"];console.log(arr.length);arr.length=5;console.log(arr); // ["red", "green", "blue", , ]console.log(arr[3]); // undefined修改索引號:arr[index] = 值vararr1= ["red", "green", "blue"];arr1[3] ="yellow";console.log(arr1.length); // 4console.log(arr1); // ["red", "green", "blue", "yellow"]console.log(arr1[3]); // yellow

新增刪除陣列元素

push():陣列末尾新增一或多個元素vararr1= ["red", "green", "blue"];arr1.push("yellow");console.log(arr1); // [ "red", "green", "blue", "yellow" ]pop():刪除陣列最後一個元素vararr1= ["red", "green", "blue"];arr1.pop();console.log(arr1); // [ "red", "green" ]unshift():陣列開頭新增一或多個元素vararr1= ["red", "green", "blue"];arr1.unshift("yellow");console.log(arr1); // [ "yellow", "red", "green", "blue" ]shift():刪除陣列開頭一個元素vararr1= ["red", "green", "blue"];arr1.shift();console.log(arr1); // [ "green", "blue" ]

03 陣列③

獲取陣列元素索引

第二個引數預設為,從頭開始查詢。若設定引數,則從該引數所顯示的索引號開始查詢

arr.indexOf(前提):返回滿足條件的第一個索引號vararr= ["red", "green", "blue", "green", "red"];console.log(arr.indexOf("red")); // 0arr.lastIndexOf(前提):返回滿足條件的最後一個索引號vararr= ["red", "green", "blue", "green", "red"];console.log(arr.lastIndexOf("red")); // 4

篩選陣列案例:將陣列 [2, 0, 6, 1, 77, 0, 52, 0, 25, 7] 中大於即是 10 的元素選出來,放入新陣列

方法一:vararr= [2, , 6, 1, 77, , 52, , 25, 7];varnewArr= [];varj=;for (vari=; i<arr.length; i++) {if (arr[i] >=10) {// 新陣列索引號應該從0開始 依次遞增newArr[j] =arr[i];j++; }}console.log(newArr); // [77, 52, 25]方法二:vararr= [2, , 6, 1, 77, , 52, , 25, 7];varnewArr= [];// 剛開始 newArr.length 就是 0for (vari=; i<arr.length; i++) {if (arr[i] >=10) {// 新陣列索引號應該從0開始 依次遞增newArr[newArr.length] =arr[i]; }}console.log(newArr); // [77, 52, 25]

陣列去重案例:將陣列[2, 0, 6, 1, 77, 0, 52, 0, 25, 7]中的 重複的元素 去掉後,形成一個不重複的新陣列vararr= [2, , 6, 1, 77, , 52, , 25, 7];varnewArr= [];for (vari=; i<arr.length; i++) {for (varj=; j<arr.length; j++) {if (newArr.indexOf(arr[i]) ==-1) {newArr.push(arr[i]); } }}console.log(newArr); // [2, 0, 6, 1, 77, 52, 25, 7]

翻轉陣列案例:將陣列 ["red", "green", "blue", "pink", "purple"] 的內容反過來存放

遍歷vararr= ["red", "green", "blue", "purple", "hotpink"];varnewArr= [];for (vari=arr.length-1; i>=; i--) {newArr[newArr.length] =arr[i]}console.log(newArr); // ["hotpink", "purple", "blue", "green", "red"]arr.reverse()vararr= ["red", "green", "blue", "purple", "hotpink"];console.log(arr.reverse()); // ["hotpink", "purple", "blue", "green", "red"]

氣泡排序

第一個數和第二個數進行比較,順序不對則交換交換後的第二個數和第三個數進行比較...一遍後,最後的那個數不是最大就是最小然後進行第二遍,直到獲取準確順序vararr= [4, 1, 2, 3, 5];for (vari=; i<=arr.length-1; i++) { // 外層輪迴管趟數 for (varj=; j<=arr.length-i-1; j++) { // 裡面的輪迴管 每一趟的交換次數// 內部交換2個變數的值 前一個和後面一個數組元素相比較if (arr[j] >arr[j+1]) {vartemp=arr[j];arr[j] =arr[j+1];arr[j+1] =temp; } }}console.log(arr);

交換兩個變數值

方式四:利用陣列②vara="111", b="222";a= [a, b];b=a[];a=a[1];console.log(a); // 222console.log(b); //111方式三:利用陣列①vara="111", b="222";[a, b] = [b, a];console.log(a); // 222console.log(b); // 111

JS篇 ⑨

01 陣列①

定義

一個包含了多個值的物件通常被描述為“像列表一樣的物件”一組資料的集合,儲存在單個變數名下的優雅方式

建立陣列

利用new建立陣列:var arr = new Array();利用陣列字面量建立陣列:var arr = [];數組裡面的資料一定用逗號分隔,如:var arr1 = [1, 2, "hello", true];

獲取陣列元素

陣列元素:數組裡面的資料*陣列名[索引號]*,索引號從0開始vararr1= [1, 2, "hello", true];console.log(arr1[3]); // trueconsole.log(arr1[4]); // 由於沒有這個陣列元素 所以輸出的結果是 undefined

陣列長度

陣列名.length陣列的長度是元素個數,不要跟索引號攪渾vararr1= [1, 2, "hello", true];console.log(arr1.length); // 4

遍歷陣列

把陣列的元素從頭到尾訪問一次vararr= ["red", "green", "blue"];for (vari=; i<3; i++) {console.log(arr[i]); // red, green, blue}由於陣列索引號從0開始,所以 i 必需從0開始

02 陣列②

檢測是否為陣列

變數名 instanceof ArrayArray.isArray(變數名)

案例:求陣列[2,6,1,77,52,25,7]中的最大值vararr= [2, 6, 1, 77, 52, 25, 7, 99];varmax=arr[];for (vari=1; i<arr.length; i++) {if (arr[i] >max) {max=arr[i]; }}console.log(max); // 99

陣列轉為字串案例:將陣列 ["red", "green", "blue", "pink"] 轉換為字串,並且用 | 或其他符號分割

遍歷,將每個資料分別拿出來,後面加分隔符vararr= ["red", "green", "blue", "pink"];varstr="";varsep="|";for (vari=; i<arr.length-1; i++) {str+=arr[i] +sep;}str+=arr[arr.length-1];console.log(str);arr.join(分隔符)vararr= ["red", "green", "blue", "pink"];console.log(arr.join("|"));

新增陣列元素

直接修改陣列長度:多於原來的長度,多出的數,值為undefined;少於原來的長度,按索引號順序將後面的去掉vararr= ["red", "green", "blue"];console.log(arr.length);arr.length=5;console.log(arr); // ["red", "green", "blue", , ]console.log(arr[3]); // undefined修改索引號:arr[index] = 值vararr1= ["red", "green", "blue"];arr1[3] ="yellow";console.log(arr1.length); // 4console.log(arr1); // ["red", "green", "blue", "yellow"]console.log(arr1[3]); // yellow

新增刪除陣列元素

push():陣列末尾新增一或多個元素vararr1= ["red", "green", "blue"];arr1.push("yellow");console.log(arr1); // [ "red", "green", "blue", "yellow" ]pop():刪除陣列最後一個元素vararr1= ["red", "green", "blue"];arr1.pop();console.log(arr1); // [ "red", "green" ]unshift():陣列開頭新增一或多個元素vararr1= ["red", "green", "blue"];arr1.unshift("yellow");console.log(arr1); // [ "yellow", "red", "green", "blue" ]shift():刪除陣列開頭一個元素vararr1= ["red", "green", "blue"];arr1.shift();console.log(arr1); // [ "green", "blue" ]

03 陣列③

獲取陣列元素索引

第二個引數預設為,從頭開始查詢。若設定引數,則從該引數所顯示的索引號開始查詢

arr.indexOf(前提):返回滿足條件的第一個索引號vararr= ["red", "green", "blue", "green", "red"];console.log(arr.indexOf("red")); // 0arr.lastIndexOf(前提):返回滿足條件的最後一個索引號vararr= ["red", "green", "blue", "green", "red"];console.log(arr.lastIndexOf("red")); // 4

篩選陣列案例:將陣列 [2, 0, 6, 1, 77, 0, 52, 0, 25, 7] 中大於即是 10 的元素選出來,放入新陣列

方法一:vararr= [2, , 6, 1, 77, , 52, , 25, 7];varnewArr= [];varj=;for (vari=; i<arr.length; i++) {if (arr[i] >=10) {// 新陣列索引號應該從0開始 依次遞增newArr[j] =arr[i];j++; }}console.log(newArr); // [77, 52, 25]方法二:vararr= [2, , 6, 1, 77, , 52, , 25, 7];varnewArr= [];// 剛開始 newArr.length 就是 0for (vari=; i<arr.length; i++) {if (arr[i] >=10) {// 新陣列索引號應該從0開始 依次遞增newArr[newArr.length] =arr[i]; }}console.log(newArr); // [77, 52, 25]

陣列去重案例:將陣列[2, 0, 6, 1, 77, 0, 52, 0, 25, 7]中的 重複的元素 去掉後,形成一個不重複的新陣列vararr= [2, , 6, 1, 77, , 52, , 25, 7];varnewArr= [];for (vari=; i<arr.length; i++) {for (varj=; j<arr.length; j++) {if (newArr.indexOf(arr[i]) ==-1) {newArr.push(arr[i]); } }}console.log(newArr); // [2, 0, 6, 1, 77, 52, 25, 7]

翻轉陣列案例:將陣列 ["red", "green", "blue", "pink", "purple"] 的內容反過來存放

遍歷vararr= ["red", "green", "blue", "purple", "hotpink"];varnewArr= [];for (vari=arr.length-1; i>=; i--) {newArr[newArr.length] =arr[i]}console.log(newArr); // ["hotpink", "purple", "blue", "green", "red"]arr.reverse()vararr= ["red", "green", "blue", "purple", "hotpink"];console.log(arr.reverse()); // ["hotpink", "purple", "blue", "green", "red"]

氣泡排序

第一個數和第二個數進行比較,順序不對則交換交換後的第二個數和第三個數進行比較...一遍後,最後的那個數不是最大就是最小然後進行第二遍,直到獲取準確順序vararr= [4, 1, 2, 3, 5];for (vari=; i<=arr.length-1; i++) { // 外層輪迴管趟數 for (varj=; j<=arr.length-i-1; j++) { // 裡面的輪迴管 每一趟的交換次數// 內部交換2個變數的值 前一個和後面一個數組元素相比較if (arr[j] >arr[j+1]) {vartemp=arr[j];arr[j] =arr[j+1];arr[j+1] =temp; } }}console.log(arr);

交換兩個變數值

方式四:利用陣列②vara="111", b="222";a= [a, b];b=a[];a=a[1];console.log(a); // 222console.log(b); //111方式三:利用陣列①vara="111", b="222";[a, b] = [b, a];console.log(a); // 222console.log(b); // 111

JS篇 ⑨

01 陣列①

定義

一個包含了多個值的物件通常被描述為“像列表一樣的物件”一組資料的集合,儲存在單個變數名下的優雅方式

建立陣列

利用new建立陣列:var arr = new Array();利用陣列字面量建立陣列:var arr = [];數組裡面的資料一定用逗號分隔,如:var arr1 = [1, 2, "hello", true];

獲取陣列元素

陣列元素:數組裡面的資料*陣列名[索引號]*,索引號從0開始vararr1= [1, 2, "hello", true];console.log(arr1[3]); // trueconsole.log(arr1[4]); // 由於沒有這個陣列元素 所以輸出的結果是 undefined

陣列長度

陣列名.length陣列的長度是元素個數,不要跟索引號攪渾vararr1= [1, 2, "hello", true];console.log(arr1.length); // 4

遍歷陣列

把陣列的元素從頭到尾訪問一次vararr= ["red", "green", "blue"];for (vari=; i<3; i++) {console.log(arr[i]); // red, green, blue}由於陣列索引號從0開始,所以 i 必需從0開始

02 陣列②

檢測是否為陣列

變數名 instanceof ArrayArray.isArray(變數名)

案例:求陣列[2,6,1,77,52,25,7]中的最大值vararr= [2, 6, 1, 77, 52, 25, 7, 99];varmax=arr[];for (vari=1; i<arr.length; i++) {if (arr[i] >max) {max=arr[i]; }}console.log(max); // 99

陣列轉為字串案例:將陣列 ["red", "green", "blue", "pink"] 轉換為字串,並且用 | 或其他符號分割

遍歷,將每個資料分別拿出來,後面加分隔符vararr= ["red", "green", "blue", "pink"];varstr="";varsep="|";for (vari=; i<arr.length-1; i++) {str+=arr[i] +sep;}str+=arr[arr.length-1];console.log(str);arr.join(分隔符)vararr= ["red", "green", "blue", "pink"];console.log(arr.join("|"));

新增陣列元素

直接修改陣列長度:多於原來的長度,多出的數,值為undefined;少於原來的長度,按索引號順序將後面的去掉vararr= ["red", "green", "blue"];console.log(arr.length);arr.length=5;console.log(arr); // ["red", "green", "blue", , ]console.log(arr[3]); // undefined修改索引號:arr[index] = 值vararr1= ["red", "green", "blue"];arr1[3] ="yellow";console.log(arr1.length); // 4console.log(arr1); // ["red", "green", "blue", "yellow"]console.log(arr1[3]); // yellow

新增刪除陣列元素

push():陣列末尾新增一或多個元素vararr1= ["red", "green", "blue"];arr1.push("yellow");console.log(arr1); // [ "red", "green", "blue", "yellow" ]pop():刪除陣列最後一個元素vararr1= ["red", "green", "blue"];arr1.pop();console.log(arr1); // [ "red", "green" ]unshift():陣列開頭新增一或多個元素vararr1= ["red", "green", "blue"];arr1.unshift("yellow");console.log(arr1); // [ "yellow", "red", "green", "blue" ]shift():刪除陣列開頭一個元素vararr1= ["red", "green", "blue"];arr1.shift();console.log(arr1); // [ "green", "blue" ]

03 陣列③

獲取陣列元素索引

第二個引數預設為,從頭開始查詢。若設定引數,則從該引數所顯示的索引號開始查詢

arr.indexOf(前提):返回滿足條件的第一個索引號vararr= ["red", "green", "blue", "green", "red"];console.log(arr.indexOf("red")); // 0arr.lastIndexOf(前提):返回滿足條件的最後一個索引號vararr= ["red", "green", "blue", "green", "red"];console.log(arr.lastIndexOf("red")); // 4

篩選陣列案例:將陣列 [2, 0, 6, 1, 77, 0, 52, 0, 25, 7] 中大於即是 10 的元素選出來,放入新陣列

方法一:vararr= [2, , 6, 1, 77, , 52, , 25, 7];varnewArr= [];varj=;for (vari=; i<arr.length; i++) {if (arr[i] >=10) {// 新陣列索引號應該從0開始 依次遞增newArr[j] =arr[i];j++; }}console.log(newArr); // [77, 52, 25]方法二:vararr= [2, , 6, 1, 77, , 52, , 25, 7];varnewArr= [];// 剛開始 newArr.length 就是 0for (vari=; i<arr.length; i++) {if (arr[i] >=10) {// 新陣列索引號應該從0開始 依次遞增newArr[newArr.length] =arr[i]; }}console.log(newArr); // [77, 52, 25]

陣列去重案例:將陣列[2, 0, 6, 1, 77, 0, 52, 0, 25, 7]中的 重複的元素 去掉後,形成一個不重複的新陣列vararr= [2, , 6, 1, 77, , 52, , 25, 7];varnewArr= [];for (vari=; i<arr.length; i++) {for (varj=; j<arr.length; j++) {if (newArr.indexOf(arr[i]) ==-1) {newArr.push(arr[i]); } }}console.log(newArr); // [2, 0, 6, 1, 77, 52, 25, 7]

翻轉陣列案例:將陣列 ["red", "green", "blue", "pink", "purple"] 的內容反過來存放

遍歷vararr= ["red", "green", "blue", "purple", "hotpink"];varnewArr= [];for (vari=arr.length-1; i>=; i--) {newArr[newArr.length] =arr[i]}console.log(newArr); // ["hotpink", "purple", "blue", "green", "red"]arr.reverse()vararr= ["red", "green", "blue", "purple", "hotpink"];console.log(arr.reverse()); // ["hotpink", "purple", "blue", "green", "red"]

氣泡排序

第一個數和第二個數進行比較,順序不對則交換交換後的第二個數和第三個數進行比較...一遍後,最後的那個數不是最大就是最小然後進行第二遍,直到獲取準確順序vararr= [4, 1, 2, 3, 5];for (vari=; i<=arr.length-1; i++) { // 外層輪迴管趟數 for (varj=; j<=arr.length-i-1; j++) { // 裡面的輪迴管 每一趟的交換次數// 內部交換2個變數的值 前一個和後面一個數組元素相比較if (arr[j] >arr[j+1]) {vartemp=arr[j];arr[j] =arr[j+1];arr[j+1] =temp; } }}console.log(arr);

交換兩個變數值

方式四:利用陣列②vara="111", b="222";a= [a, b];b=a[];a=a[1];console.log(a); // 222console.log(b); //111方式三:利用陣列①vara="111", b="222";[a, b] = [b, a];console.log(a); // 222console.log(b); // 111

JS篇 ⑨

01 陣列①

定義

一個包含了多個值的物件通常被描述為“像列表一樣的物件”一組資料的集合,儲存在單個變數名下的優雅方式

建立陣列

利用new建立陣列:var arr = new Array();利用陣列字面量建立陣列:var arr = [];數組裡面的資料一定用逗號分隔,如:var arr1 = [1, 2, "hello", true];

獲取陣列元素

陣列元素:數組裡面的資料*陣列名[索引號]*,索引號從0開始vararr1= [1, 2, "hello", true];console.log(arr1[3]); // trueconsole.log(arr1[4]); // 由於沒有這個陣列元素 所以輸出的結果是 undefined

陣列長度

陣列名.length陣列的長度是元素個數,不要跟索引號攪渾vararr1= [1, 2, "hello", true];console.log(arr1.length); // 4

遍歷陣列

把陣列的元素從頭到尾訪問一次vararr= ["red", "green", "blue"];for (vari=; i<3; i++) {console.log(arr[i]); // red, green, blue}由於陣列索引號從0開始,所以 i 必需從0開始

02 陣列②

檢測是否為陣列

變數名 instanceof ArrayArray.isArray(變數名)

案例:求陣列[2,6,1,77,52,25,7]中的最大值vararr= [2, 6, 1, 77, 52, 25, 7, 99];varmax=arr[];for (vari=1; i<arr.length; i++) {if (arr[i] >max) {max=arr[i]; }}console.log(max); // 99

陣列轉為字串案例:將陣列 ["red", "green", "blue", "pink"] 轉換為字串,並且用 | 或其他符號分割

遍歷,將每個資料分別拿出來,後面加分隔符vararr= ["red", "green", "blue", "pink"];varstr="";varsep="|";for (vari=; i<arr.length-1; i++) {str+=arr[i] +sep;}str+=arr[arr.length-1];console.log(str);arr.join(分隔符)vararr= ["red", "green", "blue", "pink"];console.log(arr.join("|"));

新增陣列元素

直接修改陣列長度:多於原來的長度,多出的數,值為undefined;少於原來的長度,按索引號順序將後面的去掉vararr= ["red", "green", "blue"];console.log(arr.length);arr.length=5;console.log(arr); // ["red", "green", "blue", , ]console.log(arr[3]); // undefined修改索引號:arr[index] = 值vararr1= ["red", "green", "blue"];arr1[3] ="yellow";console.log(arr1.length); // 4console.log(arr1); // ["red", "green", "blue", "yellow"]console.log(arr1[3]); // yellow

新增刪除陣列元素

push():陣列末尾新增一或多個元素vararr1= ["red", "green", "blue"];arr1.push("yellow");console.log(arr1); // [ "red", "green", "blue", "yellow" ]pop():刪除陣列最後一個元素vararr1= ["red", "green", "blue"];arr1.pop();console.log(arr1); // [ "red", "green" ]unshift():陣列開頭新增一或多個元素vararr1= ["red", "green", "blue"];arr1.unshift("yellow");console.log(arr1); // [ "yellow", "red", "green", "blue" ]shift():刪除陣列開頭一個元素vararr1= ["red", "green", "blue"];arr1.shift();console.log(arr1); // [ "green", "blue" ]

03 陣列③

獲取陣列元素索引

第二個引數預設為,從頭開始查詢。若設定引數,則從該引數所顯示的索引號開始查詢

arr.indexOf(前提):返回滿足條件的第一個索引號vararr= ["red", "green", "blue", "green", "red"];console.log(arr.indexOf("red")); // 0arr.lastIndexOf(前提):返回滿足條件的最後一個索引號vararr= ["red", "green", "blue", "green", "red"];console.log(arr.lastIndexOf("red")); // 4

篩選陣列案例:將陣列 [2, 0, 6, 1, 77, 0, 52, 0, 25, 7] 中大於即是 10 的元素選出來,放入新陣列

方法一:vararr= [2, , 6, 1, 77, , 52, , 25, 7];varnewArr= [];varj=;for (vari=; i<arr.length; i++) {if (arr[i] >=10) {// 新陣列索引號應該從0開始 依次遞增newArr[j] =arr[i];j++; }}console.log(newArr); // [77, 52, 25]方法二:vararr= [2, , 6, 1, 77, , 52, , 25, 7];varnewArr= [];// 剛開始 newArr.length 就是 0for (vari=; i<arr.length; i++) {if (arr[i] >=10) {// 新陣列索引號應該從0開始 依次遞增newArr[newArr.length] =arr[i]; }}console.log(newArr); // [77, 52, 25]

陣列去重案例:將陣列[2, 0, 6, 1, 77, 0, 52, 0, 25, 7]中的 重複的元素 去掉後,形成一個不重複的新陣列vararr= [2, , 6, 1, 77, , 52, , 25, 7];varnewArr= [];for (vari=; i<arr.length; i++) {for (varj=; j<arr.length; j++) {if (newArr.indexOf(arr[i]) ==-1) {newArr.push(arr[i]); } }}console.log(newArr); // [2, 0, 6, 1, 77, 52, 25, 7]

翻轉陣列案例:將陣列 ["red", "green", "blue", "pink", "purple"] 的內容反過來存放

遍歷vararr= ["red", "green", "blue", "purple", "hotpink"];varnewArr= [];for (vari=arr.length-1; i>=; i--) {newArr[newArr.length] =arr[i]}console.log(newArr); // ["hotpink", "purple", "blue", "green", "red"]arr.reverse()vararr= ["red", "green", "blue", "purple", "hotpink"];console.log(arr.reverse()); // ["hotpink", "purple", "blue", "green", "red"]

氣泡排序

第一個數和第二個數進行比較,順序不對則交換交換後的第二個數和第三個數進行比較...一遍後,最後的那個數不是最大就是最小然後進行第二遍,直到獲取準確順序vararr= [4, 1, 2, 3, 5];for (vari=; i<=arr.length-1; i++) { // 外層輪迴管趟數 for (varj=; j<=arr.length-i-1; j++) { // 裡面的輪迴管 每一趟的交換次數// 內部交換2個變數的值 前一個和後面一個數組元素相比較if (arr[j] >arr[j+1]) {vartemp=arr[j];arr[j] =arr[j+1];arr[j+1] =temp; } }}console.log(arr);

交換兩個變數值

方式四:利用陣列②vara="111", b="222";a= [a, b];b=a[];a=a[1];console.log(a); // 222console.log(b); //111方式三:利用陣列①vara="111", b="222";[a, b] = [b, a];console.log(a); // 222console.log(b); // 111

JS篇 ⑨

01 陣列①

定義

一個包含了多個值的物件通常被描述為“像列表一樣的物件”一組資料的集合,儲存在單個變數名下的優雅方式

建立陣列

利用new建立陣列:var arr = new Array();利用陣列字面量建立陣列:var arr = [];數組裡面的資料一定用逗號分隔,如:var arr1 = [1, 2, "hello", true];

獲取陣列元素

陣列元素:數組裡面的資料*陣列名[索引號]*,索引號從0開始vararr1= [1, 2, "hello", true];console.log(arr1[3]); // trueconsole.log(arr1[4]); // 由於沒有這個陣列元素 所以輸出的結果是 undefined

陣列長度

陣列名.length陣列的長度是元素個數,不要跟索引號攪渾vararr1= [1, 2, "hello", true];console.log(arr1.length); // 4

遍歷陣列

把陣列的元素從頭到尾訪問一次vararr= ["red", "green", "blue"];for (vari=; i<3; i++) {console.log(arr[i]); // red, green, blue}由於陣列索引號從0開始,所以 i 必需從0開始

02 陣列②

檢測是否為陣列

變數名 instanceof ArrayArray.isArray(變數名)

案例:求陣列[2,6,1,77,52,25,7]中的最大值vararr= [2, 6, 1, 77, 52, 25, 7, 99];varmax=arr[];for (vari=1; i<arr.length; i++) {if (arr[i] >max) {max=arr[i]; }}console.log(max); // 99

陣列轉為字串案例:將陣列 ["red", "green", "blue", "pink"] 轉換為字串,並且用 | 或其他符號分割

遍歷,將每個資料分別拿出來,後面加分隔符vararr= ["red", "green", "blue", "pink"];varstr="";varsep="|";for (vari=; i<arr.length-1; i++) {str+=arr[i] +sep;}str+=arr[arr.length-1];console.log(str);arr.join(分隔符)vararr= ["red", "green", "blue", "pink"];console.log(arr.join("|"));

新增陣列元素

直接修改陣列長度:多於原來的長度,多出的數,值為undefined;少於原來的長度,按索引號順序將後面的去掉vararr= ["red", "green", "blue"];console.log(arr.length);arr.length=5;console.log(arr); // ["red", "green", "blue", , ]console.log(arr[3]); // undefined修改索引號:arr[index] = 值vararr1= ["red", "green", "blue"];arr1[3] ="yellow";console.log(arr1.length); // 4console.log(arr1); // ["red", "green", "blue", "yellow"]console.log(arr1[3]); // yellow

新增刪除陣列元素

push():陣列末尾新增一或多個元素vararr1= ["red", "green", "blue"];arr1.push("yellow");console.log(arr1); // [ "red", "green", "blue", "yellow" ]pop():刪除陣列最後一個元素vararr1= ["red", "green", "blue"];arr1.pop();console.log(arr1); // [ "red", "green" ]unshift():陣列開頭新增一或多個元素vararr1= ["red", "green", "blue"];arr1.unshift("yellow");console.log(arr1); // [ "yellow", "red", "green", "blue" ]shift():刪除陣列開頭一個元素vararr1= ["red", "green", "blue"];arr1.shift();console.log(arr1); // [ "green", "blue" ]

03 陣列③

獲取陣列元素索引

第二個引數預設為,從頭開始查詢。若設定引數,則從該引數所顯示的索引號開始查詢

arr.indexOf(前提):返回滿足條件的第一個索引號vararr= ["red", "green", "blue", "green", "red"];console.log(arr.indexOf("red")); // 0arr.lastIndexOf(前提):返回滿足條件的最後一個索引號vararr= ["red", "green", "blue", "green", "red"];console.log(arr.lastIndexOf("red")); // 4

篩選陣列案例:將陣列 [2, 0, 6, 1, 77, 0, 52, 0, 25, 7] 中大於即是 10 的元素選出來,放入新陣列

方法一:vararr= [2, , 6, 1, 77, , 52, , 25, 7];varnewArr= [];varj=;for (vari=; i<arr.length; i++) {if (arr[i] >=10) {// 新陣列索引號應該從0開始 依次遞增newArr[j] =arr[i];j++; }}console.log(newArr); // [77, 52, 25]方法二:vararr= [2, , 6, 1, 77, , 52, , 25, 7];varnewArr= [];// 剛開始 newArr.length 就是 0for (vari=; i<arr.length; i++) {if (arr[i] >=10) {// 新陣列索引號應該從0開始 依次遞增newArr[newArr.length] =arr[i]; }}console.log(newArr); // [77, 52, 25]

陣列去重案例:將陣列[2, 0, 6, 1, 77, 0, 52, 0, 25, 7]中的 重複的元素 去掉後,形成一個不重複的新陣列vararr= [2, , 6, 1, 77, , 52, , 25, 7];varnewArr= [];for (vari=; i<arr.length; i++) {for (varj=; j<arr.length; j++) {if (newArr.indexOf(arr[i]) ==-1) {newArr.push(arr[i]); } }}console.log(newArr); // [2, 0, 6, 1, 77, 52, 25, 7]

翻轉陣列案例:將陣列 ["red", "green", "blue", "pink", "purple"] 的內容反過來存放

遍歷vararr= ["red", "green", "blue", "purple", "hotpink"];varnewArr= [];for (vari=arr.length-1; i>=; i--) {newArr[newArr.length] =arr[i]}console.log(newArr); // ["hotpink", "purple", "blue", "green", "red"]arr.reverse()vararr= ["red", "green", "blue", "purple", "hotpink"];console.log(arr.reverse()); // ["hotpink", "purple", "blue", "green", "red"]

氣泡排序

第一個數和第二個數進行比較,順序不對則交換交換後的第二個數和第三個數進行比較...一遍後,最後的那個數不是最大就是最小然後進行第二遍,直到獲取準確順序vararr= [4, 1, 2, 3, 5];for (vari=; i<=arr.length-1; i++) { // 外層輪迴管趟數 for (varj=; j<=arr.length-i-1; j++) { // 裡面的輪迴管 每一趟的交換次數// 內部交換2個變數的值 前一個和後面一個數組元素相比較if (arr[j] >arr[j+1]) {vartemp=arr[j];arr[j] =arr[j+1];arr[j+1] =temp; } }}console.log(arr);

交換兩個變數值

方式四:利用陣列②vara="111", b="222";a= [a, b];b=a[];a=a[1];console.log(a); // 222console.log(b); //111方式三:利用陣列①vara="111", b="222";[a, b] = [b, a];console.log(a); // 222console.log(b); // 111

上一篇:如何將Excel... 下一篇:如何透過微信...
猜你喜歡
熱門閱讀
同類推薦