JS中關於陣列的知識總結

2021-09-10 18:05:35 字數 3996 閱讀 6570

我們程式設計過程中需要乙個可以儲存大量資料的結構 -> 陣列。

陣列的概念:儲存大量資料。可以使用乙個變數名,儲存大量的資料。

<1>通過new運算子建立陣列

引數的部分:傳入你想儲存在陣列中的元素(js弱引用,陣列中可以儲存任意的資料型別)

【注】元素:陣列中儲存的每乙個值,叫做陣列的元素。

<2>省略new運算子建立陣列

以上兩種建立陣列的方法都不常用。

<3>直接通過陣列常量賦值。js中陣列就是通過 表示。

var arr = new array(100, true, "hello");

alert(arr);

var arr = array(100, true, "hello");

alert(arr);

var arr = [10, true, "hello"];

alert(arr);

重點:使用 new array  array 建立陣列的時候

當引數是數字,並且只有這乙個引數的時候,生成乙個對應長度的空陣列。

var arr = new array(10);

/*var arr = array(10);

alert(arr);*/

var arr = [10, 20, 30];

alert(typeof arr); //object

訪問陣列的屬性:

arr.length  輸出陣列中元素的個數

陣列的元素個數  arr.length

【注】length屬性,不是唯讀的,可以設定。

訪問陣列中的元素:

通過元素的下標訪問,【注】元素下標從0開始的。

【注】迴圈和陣列是絕配。

math.random()  隨機0~1之間的任意數 [0, 1)

for迴圈

for...in 快速遍歷/快速列舉法  直接從頭到尾直接遍歷每乙個元素。

for(var i in arr)

//【注】在快速遍歷的時候,不要對原陣列中的元素個數進行修改。

系統提供了大量的陣列的函式

棧結構  通過陣列的方法模擬乙個棧結構。

棧結構特點:先進後出

push  pop

通過陣列的方法:元素只能從同一頭出,同一頭進。

push

格式:陣列.push(引數1, 引數2...);

功能:給陣列的末尾新增元素。

返回值:新增完元素以後,陣列的長度

pop格式:陣列.pop()

功能:從陣列的末尾取乙個元素下來

返回值:取下的元素

佇列結構

特點:先進先出

通過陣列的方法:從尾部插入元素,從頭部取下元素。

push  shift

shift()

格式:陣列.shift()

功能:從陣列頭部取元素下來。

返回值:從陣列頭部取下的元素。

unshift 從陣列的頭部插入元素

格式:陣列.unshift(元素...);

功能:從陣列頭部插入元素

返回值:插完元素以後陣列的長度。

concat()

格式:陣列.concat(陣列1, 陣列2, 變數/常量...);

功能:將這些陣列中的元素,全部合併成乙個新陣列。不會修改原陣列。

返回值:返回值就是生成的新陣列。

concat() 沒有傳入引數,直接生成乙個一模一樣的新陣列,返回。

slice()

格式:陣列.slice(start, end);

功能:獲取[start, end)下標範圍內的元素,生成新陣列,不會修改原陣列。

返回值:生成的新陣列。

splice() 可以實現增、刪、改

格式:陣列.splice(start, length, 元素1, 元素2 .....);

引數:第乙個引數,開始擷取的下標

第二個引數,擷取的元素長度

第三個引數往後,在開始位置插入的元素

join() 陣列--> 字串

格式:陣列.join(拼接符);

功能:將陣列中每乙個元素,通過拼接符,拼接成乙個字串

返回值:字串

reverse() 逆序

功能:對原陣列逆序

格式:陣列.reverse()

sort()

【注】預設是按照字串公升序排序

引數:是乙個函式

function(value1, value2) 降序排列

function(value1, value2) 公升序

var arr = [1, 20, 15, 10, 5];

arr.sort();

alert(arr); //1,10,15,20,5 它會拿每乙個數的第乙個數字進行比較,一旦比較出大小,那麼之後的數字不會再比較了

氣泡排序:

規則:前後兩兩進行比較,如果符合條件,交換兩個數的位置。

特點:每一輪比較,都能找出乙個較大的數,放在正確的位置。

第一輪:五次

9, 8, 7, 6, 5, 4

8, 9, 7, 6, 5, 4

8, 7, 9, 6, 5, 4

8, 7, 6, 9, 5, 4

8, 7, 6, 5, 9, 4

8, 7, 6, 5, 4, 9

第二輪:四次

8, 7, 6, 5, 4

7, 8, 6, 5, 4

7, 6, 8, 5, 4

7, 6, 5, 8, 4

7, 6, 5, 4, 8

第三輪:三次

7, 6, 5, 4

6, 7, 5, 4

6, 5, 7, 4

6, 5, 4, 7

第四輪:二次

6, 5, 4

5, 6, 4

5, 4, 6

第五輪:一次

5, 4

4, 5

比較輪數 = 陣列長度 - 1

陣列長度 = 比較的輪次 + 每輪次數

每輪次數 = 陣列長度 - 比較的輪次

var arr = [9, 8, 7, 6, 5, 4];

//比較輪數:

for(var i = 0; i < arr.length - 1; i++)

}}

選擇排序 --- 打擂台法

規律:通過比較首先選出最小的數放在第乙個位置上,然後在其餘的數中選出次小數放在第二個位置上,依此類推,直到所有的數成為有序序列。'';

結論:每一輪都能找到乙個較小的數,放在正確的位置。

第一輪:

9, 8, 7, 6, 5, 4

8, 9, 7, 6, 5, 4

7, 9, 8, 6, 5, 4

6, 9, 8, 7, 5, 4

5, 9, 8, 7, 6, 4

4, 9, 8, 7, 6, 5

第二輪:

9, 8, 7, 6, 5

8, 9, 7, 6, 5

7, 9, 8, 6, 5

6, 9, 8, 7, 5

5, 9, 8, 7, 6

第三輪:

9, 8, 7, 6

8, 9, 7, 6

7, 9, 8, 6

6, 9, 8, 7

第四輪:

9, 8, 7

8, 9, 7

7, 9, 8

第五輪:

9, 8

8, 9

比較輪數 = 陣列長度 - 1

比較的次數 = 陣列長度 - 當前輪數

var arr = [9, 8, 7, 6, 5, 4];

for(var i = 0; i < arr.length - 1; i++)

}}

js中 關於bom的知識

1 screentop 瀏覽器左上角到物理螢幕左上角的垂直距離 2 screenleft 瀏覽器左上角到物理螢幕左上角的水平距離 3 以上兩種 除了火狐瀏覽器不相容外,其他瀏覽器都相容,火狐瀏覽器使用screenx和screeny,其功能和上面兩種一樣 處理相容性問題 browerleft wind...

關於js中遍歷總結

1.for迴圈 1 var2 arr 3for var i 0 i arr.length i js最常用的迴圈必然是for迴圈,最基礎的用法,用於陣列遍歷,但是 書寫過多。1 var2 arr 3 array.prototype.customfunc function 4for var item i...

關於JS中的陣列 的方法

push 向陣列中放資料。splice a,b 清空陣列 a 0 表示從0下標開始,b 表示到b位。不包括b位 pop 返回陣列中的最後乙個元素 eg var arr new array 3 或定義 var arr arr 0 george arr 1 john arr 2 thomas docum...