陣列常見方法(不包括新增)

2022-08-09 10:51:12 字數 3991 閱讀 9955

.push( ):在陣列的末尾新增元素,返回長度

var arr = [1,2,3];

console.log(arr.push("hello")); //

4console.log(arr); //

[1,2,3,"hello"]---原陣列改變

console.log(arr.push("a","b")); //

6console.log(arr); //

[1,2,3,"hello","a","b"]---原陣列改變

.unshift( ):在第一位新增一或多個資料,返回長度

.pop( ):刪除最後一位元素,並返回刪除的資料

var arr = [1,2,3];

console.log(arr.pop()); //3

console.log(arr); //

[1,2]---原陣列改變

.shift( ):刪除第一位,並返回刪除的資料

var arr = [1,2,3]

console.log(arr.shift()); //1

console.log(arr); //

[2,3]---原陣列改變

.splice( m , n , a, ……):

替換:從第m個專案開始刪除,一共刪除n個;a可選,表示在刪除的位置新增新元素a

var arr = [34,64,"hello",true

,undefined];

console.log(arr.splice(2,2,"html")); //

array [ "hello", true ]

console.log(arr); //

array(4) [ 34, 64, "html", undefined ]

console.log(arr.splice(2,2)); //

array [ "html", undefined ]

console.log(arr); //

array [ 34, 64 ]

console.log(arr.splice(2,0,"html")); //

array

console.log(arr); //

array(3) [ 34, 64, "html" ]

console.log(arr.splice(2,2,"html","css","js")); //

array [ "html" ]

console.log(arr); //

array(5) [ 34, 64, "html", "css", "js" ]

console.log(arr.splice(2,2,"html","css","js","...")); //

array [ "html", "css" ]

console.log(arr); //

array(7) [ 34, 64, "html", "css", "js", "...", "js" ]

.concat( ):用於連線兩個或多個陣列,該方法不會改變現有的陣列,而僅僅會返回被連線陣列的乙個副本。

引數:concat(data1,data2,...);所有引數可選,要合併的資料;data為陣列時,將data合併到原陣列;data為具體資料時直接新增到原陣列尾部;省略時建立原陣列的副本。

var arr1 = [1,2,3]

var arr2 =arr1.concat();

console.log(arr1);

//[1,2,3]---原陣列

console.log(arr1 === arr2); //

false

console.log(arr2); //

[1,2,3]---原陣列的副本

console.log(arr1.concat("hello","world")); //

[1,2,3,"hello","world"]

console.log(arr1.concat(["a","b"],[[3,4],])); //

[1,2,3,"a","b",[3,4],]

console.log(arr1); //

[1,2,3]---原陣列未改變

123456789

.join( ):根據指定分隔符將陣列中的所有元素放入乙個字串,並返回這個字串。

join(str);引數可選,預設為","號,以傳入的字元作為分隔符。

var arr = [1,2,3];

console.log(arr.join());

//1,2,3

console.log(arr.join("-")); //

1-2-3

console.log(arr); //

[1,2,3]---原陣列未改變

1234

.tostring( )

功能:轉換成字串,類似於沒有引數的join()。該方法會在資料發生隱式型別轉換時被自動呼叫,如果手動呼叫,就是直接轉為字串。

var arr = [1,2,3];

console.log(arr.tostring());

//1,2,3

console.log(arr); //

[1,2,3]---原陣列未改變

.sort( )

缺省會按照字元的排序規則,公升序

需要傳入**函式,在**函式身上右接收兩個引數,返回這兩個引數的差,可以按照數值的排序規則進行排序

//當陣列內的元素為字元型數字,預設排序已經無法滿足,需要手動處理;

//如function fn(n,m)

arr.sort(

function

(n,m));

.slice( m , n ) :返回乙個新陣列,從下標m的位置取到下標n位置的前乙個(不包含n),可以實現擷取的功能

var arr = [34,"a",67,"b","vc","html","hello"];

console.log(arr);

//array(7) [ 34, "a", 67, "b", "vc", "html", "hello" ]

//slice:擷取,從第乙個引數位,擷取到第二個引數位的前乙個

var a = arr.slice(2,6); //

array(4) [ 67, "b", "vc", "html" ]

console.log(a);

slice不會改變原陣列

1.那麼哪些方法會改變原陣列? 因為slice沒有改變原陣列,索引,要想看到slice的執行結果,得找返回值,

2.改變了原陣列的方法,有沒有返回值呢?是什麼呢?

功能:執行就可以看到結果,不需要有返回值

處理資料:執行不一定能看到結果,需要有返回值

陣列常見方法總結

var arr 1 2,3 4 var arr1 newarray 1 2,3 4 1,2,3,4 var arr2 newarray 10 empty 10 var arr3 array 1 2,3 4 1,2,3,4 var arr5 array.of 1,2,3,4 1,2,3,4 var a...

陣列常見方法分類

concat 連線兩個或更多的陣列,並返回結果。every 檢測陣列元素的每個元素是否都符合條件。some 檢測陣列元素中是否有元素符合指定條件。filter 檢測陣列元素,並返回符合條件所有元素的陣列。indexof 搜尋陣列中的元素,並返回它所在的位置。join 把陣列的所有元素放入乙個字串。t...

陣列排序的常見方法

乙個陣列有n個數字,由小到大排序 1.氣泡排序 主要思想 從前到後一次比較相鄰兩個數的大小,順序不滿足大小要求就交換兩者之間的位置 然後迴圈陣列長度 1,實現排序 比較次數 n 1 n 2 1 n n 1 2 2.選擇排序 主要思想 首先選擇陣列第乙個數,與第二個數做比較,對大的數進行標記,並與第三...