js陣列的常用方法

2021-07-27 15:59:29 字數 3549 閱讀 2891

陣列可以用new的方式也可以用字面量來定義。

var arr1 = new array();

var arr2 = [1, 2, 'aa', new date(), true];

//alert(arr1.length);

//alert(arr2); //會自動轉換成string,效果等同於 arr2.tostring()

從尾部:

//push和pop

var arr3 = [new date(), false];

var res = arr3.push(1, 2, true); //push方法像陣列中追加元素(返回值為新陣列長度)

alert(arr3); //arr3中追加了1, 2, true三個元素

alert(res); //返回的是新陣列的長度 5

var res2 = arr3.pop(); //從資料尾部移除乙個元素,返回值為移除的元素

alert(arr3);

alert(res2); //返回值為移除的元素

從頭部:

//shift和unshift

var arr4 = [1, 2, true, new date()];

var res4 = arr4.shift(); //從頭部移除乙個元素(返回移除的元素)

var res5 = arr4.unshift(10, false); //從頭部插入多個元素,返回新陣列元素個數

alert(res5); /*

splice和slice(擷取相關),返回刪除的元素

splice方法運算元組本身

slice不算子組本身 */

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

//splice(起始位置,擷取的個數,第三個引數及以後表示:插入到擷取位置的新元素)

var res6 = arr5.splice(1, 2, 3, 4, 5);

//alert(arr5); //1,3,4,5,4,5

//alert(res6); //返回刪除的元素 2,3

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

var res7 = arr6.slice(2, 4); //左閉右開,語法arrayobject.slice(start,end)

//alert(arr6); //和原來一樣不變

//alert(res7); //返回刪除的元素 3,4

concat() 方法用於連線兩個或多個陣列。

該方法不會改變現有的陣列,而僅僅會返回被連線陣列的乙個副本。

語法:arrayobject.concat(arrayx,arrayx,......,arrayx)

//concat 和 join 都不更改原陣列

var arr7 = [1, 2, 3];

var arr8 = [true, 4, 5];

var res8 = arr7.concat(arr8); //合併操作,不操作原陣列本身

//alert(res8); //返回合併後的陣列

var res9 = arr7.join("-"); //join() 方法用於把陣列中的所有元素放入乙個字串。不傳引數使用逗號分隔

//alert(res9); //1-2-3

語法:arrayobject.sort(sortby)

,sortby

可選,規定排序順序,必須是函式。

/*

sort正序排序

reverse 倒序排序(按照原來的順序反轉) */

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

var arr10 = [1, 10, 2, 5, 3];

arr10.sort(); // 是按照字母來排序的 1,10,2,3,5

arr9.reverse(); //按照原來的順序反轉

document.write(arr10 + "

");

預設的sort是按照字母排序的,這樣 10就會排在2的前面。

我們需要自定義個比較函式作為引數,實現按數字大小排序。

如下:function sortnumber(a, b)

var arr = new array(6)

arr[0] = "10"

arr[1] = "5"

arr[2] = "40"

arr[3] = "25"

arr[4] = "1000"

arr[5] = "1"

+ "

") //

10,5,40,25,1000,1

.sort(sortnumber)) //

1,5,10,25,40,1000

說明:比較函式sortnumber(a, b) 具有兩個引數 a 和 b,返回乙個用於說明這兩個值的相對順序的數字。其返回值如下:

若 a 小於 b,在排序後的陣列中 a 應該出現在 b 之前,則返回乙個小於 0 的值。

若 a 等於 b,則返回 0。

若 a 大於 b,則返回乙個大於 0 的值。

/* ecmascript5 陣列新特性補充

位置方法:indexof lastindexof

迭代方法:every filter foreach some map

縮小方法:reduce reduceright */

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

//位置方法:indexof lastindexof 乙個引數,表示要搜尋的元素

var index=arr.indexof(2);

//兩個引數(要搜尋的元素,起始位置)

var index = arr.indexof(2, 2);

document.write(index);

//lastindexof,用法完全一樣,只不過從尾部向前搜

var index = arr.lastindexof(2, 4);

document.write(index);

//迭代方法:every filter foreach some map

//every, 與運算,全是true為true

var res = arr.every(function(item, index, array) )

//some,或運算,有乙個true返回true

var res = arr.some(function (item, index, array) )

//filter把過濾後的結果返回

var res = arr.filter(function (item, index, array) )

//foreach,遍歷每一項執行方法

arr.foreach(function (item, index, array) )

//map, 對元素每一項執行方法,把新的結果返回

var res= arr.map(function (item, index, array) )

//左結合和右結合方法:reduce reduceright

var res = arr.reduce(function (prev,cur,index,array) )

js陣列的常用方法

一 新增 刪除 push 向陣列的末尾新增乙個或多個元素,並返回新陣列的長度 pop 刪除陣列的最後乙個元素,並返回被刪除的元素 shift 刪除陣列的第乙個元素,並返回被刪除的元素 unshift 向陣列的開頭新增乙個或多個元素,並返回新陣列的長度 concat 連線兩個或多個陣列,不會改變原陣列...

js陣列常用方法

push 向陣列的末尾增加一項 返回值是陣列的新長度 unshift 向陣列開頭增加一項 返回值是陣列的新長度 pop 刪除陣列的末尾項 返回值是刪除的陣列項 shift 刪除陣列開頭項 返回被刪除的開頭專案 splice 刪除陣列中的任意項 返回值是被刪除的陣列項 slice 複製陣列 返回值是複...

js陣列常用方法

array.join 方法將陣列中所有元素都轉化為字串並連線在一起,返回最後生成的字串。可以指定乙個可選的字串在生成的字串中來分隔陣列的各個元素。如果不指定分隔符,預設使用逗號。示例 var a 1,2,3 console.log a.join 1,2,3 console.log a.join 1 ...