js學習(八) 陣列

2022-06-07 20:03:12 字數 2922 閱讀 8306

目錄初級開發大多使用內建物件和陣列物件

陣列也是乙個物件

他和我們普通物件功能類似,也是用來儲存一些值的

不同的是普通物件是使用字串作為屬性名的,而陣列是使用數字來作為索引操作元素

陣列的儲存效能比普通物件要好,在開發中我們經常使用陣列來儲存一些資料

建立陣列物件

var arr = new array();
向陣列中新增元素

語法: 陣列[索引] = 值
讀取陣列元素

console.log(arr[0]);
如果讀取不存在的索引,他不會報錯而是返回undefined

獲取陣列的長度

可以使用length屬性來獲取陣列的長度(元素的個數)

對於非連續的陣列,使用length會獲取到陣列的最大的索引+1

語法:陣列.length

console.log(arr.length);

一直在陣列的最後位置(最大索引)新增元素

使用字面量建立陣列時,可以在建立時就指定陣列中的元素

var arr = [1,2,3,4,5,10];

陣列中的元素可以是任意資料型別

arr = ["hello",1,true,null,undefined];
split()

var array = text.split(",");//逗號是分隔符

push()

向陣列的末位新增乙個或多個元素,並返回新的長度

可以將要新增的元素作為方法的引數傳遞,這樣這些元素就會自動新增到陣列的末位

arr.push("傑克");
pop()

刪除並返回陣列的最後乙個元素

arr.pop();
unshift()

向陣列開頭新增乙個或多個元素,並且返回新的陣列長度

shift()

刪除陣列的第乙個元素

slice(start,end)

end可以不寫,此時會擷取從開始索引往後的所有元素

end和start也可以為負數,表示倒數第幾個,-1位倒數第乙個

splice(start,num,value)

concat()

連線兩個或多個陣列,並將新的陣列返回

該方法不會對原陣列產生影響

var result = arr.concat(arr2);

var result = arr.concat(arr2,arr3);

var result = arr.concat(arr2,arr3,"jack");//還可以傳元素

join()

該方法可以將陣列轉換為乙個字串

該方法不會對原陣列產生影響,而是返回轉換後的字串

在join()中可以指定乙個字串作為引數,這個字串將會成為陣列中元素的連線符

顛倒陣列中元素的順序

該方法會直接修改原陣列

arr.reserve();

sort()

對陣列的元素進行排序

可以在sort()新增乙個**函式,來指定排序規則

**函式中需要定義兩個形參

瀏覽器將會分別使用陣列中的元素作為實參去呼叫**函式

使用哪個元素呼叫不確定,但是肯定的是在陣列中a一定在b前邊

如果返回乙個大於0的值,則元素會交換位置

如果返回小於0的值,則元素位置不變

如果返回乙個0,則認為兩個元素相等,不交換位置

arr = [5,4];

arr.sort(function(a,b));

array.isarray(obj)

判斷乙個物件是不是陣列

//foreach()方法需要乙個函式作為引數

arr.foreach(function(a) );

像這種函式,我們建立但是不由我們呼叫的,我們稱為**函式

陣列中有幾個元素,函式就會執行幾次,每次執行時,瀏覽器會將遍歷到元素以實參的形式傳遞進來

學習JS第八節 陣列

1.三目運算子var num 判斷條件 返回式一 返回式二 2.陣列定義方法var arr 10 10 陣列長度就是113.push 在陣列最後一位新增 實現 var arr 1,2,3 array.prototype.push function return this.length 4.pop 彈...

js陣列學習。

js陣列學習 1 用傳統老思路寫返回陣列最大值。param level 全集陣列 describe 函式用於迴圈比較得出陣列裡面的最大值。author 908637150 qq.com createdate 2017年8月11日 下午9 40 00 function looplevel level ...

php學習筆記(八)陣列

陣列是特殊的變數,它可以同時儲存乙個以上的值。如果您有乙個專案列表 例如汽車品牌列表 在單個變數中儲存這些品牌名稱是這樣的 cars1 volvo cars2 bmw cars3 saab 不過,假如您希望對變數進行遍歷並找出特定的那個值?或者如果您需要儲存 300 個汽車品牌,而不是 3 個呢?解...