JavaScript學習 陣列

2021-07-10 09:29:15 字數 1707 閱讀 8401

① 陣列的大小和下標

宣告就用array = […]的方式,和字串不同,陣列是可變的,不只是元素可變,長度也可變,可以通過設定length和修改超過length範圍的元素來改變陣列的長度。

var a = [1, 2, 3];

alert(a+' '+a.length); // 1,2,3 3

a.length = 6; // 直接修改陣列的長度

alert(a); // 1,2,3,,,

var b = [1, 2, 3];

b[5] = 6;

alert(b+' '+b.length); // 1,2,3,,,6 6

但是為了規範寫法,最好還是不要這樣強制修改陣列的長度吧……

下面開始介紹陣列的方法

② indexof

這個方法和字串的含義基本相同,沒什麼好解釋的。

var a = [10, '20', 30, '30'];

alert(a.indexof(30)); // 2

③ slice

這個方法相當於string.substring(start, end),也很好理解。

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

alert(arr.slice(1, 3)); // 2,3

alert(arr.slice(2)); // 3,4,5

④ push和pop

和c++裡容器的push和pop方法也類似,特別的地方:push方法可以一次插入多個值,用逗號隔開就可以了,插入乙個陣列也可以。pop方法還會返回陣列的最後乙個元素值。

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

arr.push(6, 7, 8); // 與 arr.push([6, 7, 8]) 效果一致

alert(arr); // 1,2,3,4,5,6,7,8

alert(arr.pop()); // 8

⑤ shift和unshift

shift表示移動,那麼arr.shift()的意思就是將陣列往左移一格,因此最左邊的元素會被刪掉,而且陣列大小減一(如果陣列大小為0,執行shift就沒有效果了)。arr.unshift(value)的意思就是反過來,往右移,而且會在陣列左邊補上value元素,注意,也是可以補多個元素的,補多少個元素陣列大小就增加多少。

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

arr.shift();

alert(arr+' '+arr.length); // 2,3,4,5 4

arr.unshift(9, 8, 7);

alert(arr+' '+arr.length); // 9,8,7,2,3,4,5 7

⑥ sort

顧名思義就是排序,如果不加引數就使用預設的方法排序。sort方法會返回乙個陣列,但其實原陣列也排好序了。

var a = [3, 6, 2, 4, 5, 8, 2];

var newa = a.sort();

alert(newa + '\n' + a); // 2,2,3,4,5,6,8,下一行同

那麼array.sort的引數怎麼設定呢?比如我現在要按照從大到小排序,怎麼設定這個function引數?(先去上課,今晚繼續)

JavaScript 陣列學習 常用方法 排序

new array length content 字面量 var arr var arr 1,1 l,undefined,1 arr.length 3 var arr new array 1,2,3,4,5 1,2,3,4,5 建立乙個長度為10的陣列 var arr new array 10 ar...

javascript陣列操作

push 尾部新增元素 unshift 頭部新增元素 var arr 3,5,34 arr.push 7 alert arr pop 從尾部刪除元素 shift 從頭部刪除元素 splice 起始位置,刪除的幾個,用新元素填補刪除位置 刪除元素 splice 1,2 從第二個元素往後刪除2個元素 新...

JavaScript陣列練習

找出元素 item 在給定陣列 arr 中的位置 function indexof arr,item return 1 計算給定陣列 arr 中所有元素的總和 function sum arr return sum 移除陣列 arr 中的所有值與 item 相等的元素。不要直接修改陣列 arr,結果...