3 Array建構函式

2022-06-08 20:57:29 字數 3673 閱讀 9505

知識梳理

//

1 判斷陣列 instanceof array.isarray(arr);

//2 新增元素 .unshift() .push()

//3 刪除元素 .shift() .pop()

//4 查詢索引 arr.indexof() arr.lastindexof()

//5 陣列排序 sort

//6 陣列轉字串 arr.tostring() arr.join('|')

一 基本屬性1)引數說明

var arr = new array(2

);//建立了乙個長度為2的空陣列

var arr = new array('2');//建立了乙個元素為字串2的陣列

var arr = new array(2,3);//建立了包含2個元素的陣列

2)異常

當size為負數 或者大於最大值時 會丟擲rangeerror異常

var arr = new array(2); //uncaught rangeerror: invalid array length

未捕獲 範圍錯誤 無效 陣列 長度

3)直接量語法

var arr = ;
4)屬性

//只有乙個

length屬性

二  常用方法1)判斷陣列

方法一 instanceof 運算子檢測

var arr = new array(); //

建立乙個空陣列

console.log(arr instanceof array ); //

返回布林值

方法二 

array.isarray(arr_name);

2)新增元素

var arr = [1,2,3,4

];var res1 = arr.unshift(0,'

李白');//

向陣列開頭壓入乙個或多個元素

var res2 = arr.push(5,'

杜甫');//

向陣列尾部壓入乙個或多個元素

console.log(res1);

//返回值:返回新陣列的長度

console.log(res2);//

返回值:返回新陣列的長度

console.log(arr);//

[0, "李白", 1, 2, 3, 4, 5, "杜甫"]

3)刪除元素

var arr = [1,2,3,4

];var res = arr.pop();//1

刪除陣列末尾的最後乙個元素

var res1 = arr.shift();//2

刪除陣列開頭的第乙個元素

console.log(res);

//4 返回值:被刪除的元素

console.log(res1);//

1 返回值:被刪除的元素

console.log(arr);//

[2,3]

4)查詢元素的索引號

//

1 indexof() 從前往後查詢

var arr = ['

李白','

杜甫','

白居易','

白居易'

];console.log(arr.indexof(

'白居易

')); //

返回 2 如果存在 返回索引號

console.log(arr.indexof('

李商隱')); //

返回-1 如果不存在 返回-1

//2 lastindexof() 從後往前查詢

console.log(arr.lastindexof('

白居易'));//

如果存在 返回索引號

console.log(arr.lastindexof('

李商隱'));//

如果不存在 返回-1

5)陣列翻轉

var arr = [1,2,3

];arr.reverse();

console.log(arr);

//[3, 2, 1]

6)陣列排序 sort()

//

氣泡排序

var arr1 = [10,9,22,34,35,45,41

];//

arr1.sort();

//做冒泡有一些問題 它是基於 utf-16**

//做一些改進 實現冒泡演算法 [ 裡面的函式寫法是固定的 ]

arr1.sort(function (a,b) )

console.log(arr1);

7)將數組裝換為字串

//

方法1 tostring()

//方法2 join('分隔符號')

var arr = [1,2,3

];console.log(arr.tostring());

//轉換為字串

console.log(arr.join('

|'));//

可以用其他符號分割,預設是逗號

三 練習案例1)把工資大於2000的刪除

var arr = [1500,2200,3200,1400

];var newarr =;

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

}console.log(arr);

console.log(newarr);

//用到的知識點:新增陣列元素

2)陣列去重[ 重點案例 ] 

//目標:把舊陣列中不重複的元素選出來,重複的只保留乙個 存放到新陣列中

//核心思路:我們遍歷舊陣列,拿舊陣列的元素值去新陣列中匹配 如果不存在就push到新陣列中

3)求某個值出現的次數和位置 [ 重點案例 ]

//

舉一反三 求陣列中 red 出現的位置和次數

var arr = ['

red','

blue

','green

','pink

','red'];

var index = arr.indexof('

red'

);var num = 0

;while (index !== -1

) console.log(

'red出現了:

' + num + '

次');

建構函式 二 3

建構函式 與類名同 無返回可有引數 class test void print int main 物件陣列 主動呼叫 for int i 0 i 3 i return 0 類成員函式和普通函式一樣可進行過載,並遵守相同過載規則 類中沒定義任何一建構函式,編譯器預設提供無參建構函式 函式體為空 和拷貝...

3 複製建構函式

1 複製建構函式的特點 注意 乙個類中一定會有複製建構函式,要麼是自己寫的要麼是編譯器自動生成的,這與預設建構函式有所不同。編譯器自動生成的複製建構函式完成的是物件間的拷貝工作。程式設計師自己寫的複製建構函式完成的並不一定是物件間的複製工作,雖然道理上它應該完成物件間的複製工作,這取決於程式設計師自...

Swift 3 建構函式 過載建構函式

viewcontroller.swift import uikit class viewcontroller uiviewcontroller person.swift 建構函式 分配記憶體空間 設定初始值 在swift中 所有的構造方法 都是init 建構函式的責任就是 一定構造乙個物件出來 過載...