.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.選擇排序 主要思想 首先選擇陣列第乙個數,與第二個數做比較,對大的數進行標記,並與第三...