js:Array對象經常使用方法介紹

前言

在js中,數組做爲一個特殊的對象。是咱們經常使用的數據格式。今天就來梳理一下經常使用的數組方法.數組

1.基礎

幾種基礎的就簡單介紹一下:
建立數組函數

var arr1 = new Array();  //括號能夠傳參,指定數組長度。目前arr1.length是0
var arr2 = new Array(3);//arr2.length是3
var arr3 = new Array(1,2,3,4);  //當傳多個參數時,js會把這些參數做爲數組的初始值。
console.log(arr3);  // [1,2,3,4]

new Array()建立數組有一個須要注意的地方。只傳一個參數時,若是這個值是非數字。會被當作數組的第一個參數,生成一個長度爲1的數組。若是是數字,就會建立一個這個數字長度的空數組。編碼

但其實上面的建立方法不經常使用。咱們更習慣這麼寫code

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

基礎方法對象

arr.length  //數組的長度
arr[1] //數組下標是1的值。數組的下標從0開始計數
arr.push(值) //往數組添加元素

2.其它方法

var arr = ["element1","element2","element3","element4"];     //下面全部案列都是用的這個數組

//獲取指定元素的下標
var index = arr. indexOf(」element2「);   // 1

(1)splice(index,number,item1,.....,itemX)從數組中添加/刪除元素,而後返回被刪除的元素。

參數 描述
index 必需。整數。添加/刪除項目的位置,使用負數可從數組結尾處規定位置。
number 必需。要刪除的項目數量。若是設置爲 0,則不會刪除項目。
item1, ..., itemX 可選。向數組添加的新項目。

來看實際例子排序

//刪除
let getReturn = arr.splice(1,1);
console.log(getReturn);  // ["element2"]
console.log(arr);    //["element1",","element3","element4"]

//添加
let getReturn = arr.splice(arr.length,0,"element5","element6");
console.log(getReturn);  //[]
console.log(arr);    //["element1","element2","element3","element4","element5","element6"]

(2)pop()方法,刪除數組最後一位,返回被刪除的元素。

let getReturn = arr.pop();
console.log(getReturn);    //element4
console.log(arr);    //["element1","element2","element3"]

(3)slice(start,end) 從已有的數組中返回選定的元素。

參數 描述
start 必需。整數。添加/刪除項目的位置,使用負數可從數組結尾處規定位置。
end 必需。要刪除的項目數量。若是設置爲 0,則不會刪除項目。

注意:請注意,該方法並不會修改數組,而是返回一個子數組。若是想刪除數組中的一段元素,應該使用方法 Array.splice()。ip

let getReturn = arr.slice(1,3);
console.log(getReturn);    //["element2", "element3"]
console.log(arr);    //["element1", "element2", "element3", "element4"]

另外,slice()方法也能夠實現深拷貝哦。element

let copyArr = arr.slice();    //不傳值
copyArr[0] = 'newElement';
console.log(arr);        //["element1", "element2", "element3", "element4"]
console.log(copyArr);    //["newElement", "element2", "element3", "element4"]

(4)join(separator)把數組中的全部元素放入一個字符串。

separator:可選。指定要使用的分隔符。若是省略該參數,則使用逗號做爲分隔符。字符串

let getReturn = arr.join();
console.log(getReturn);    //element1,element2,element3,element4
console.log(arr);    //["element1", "element2", "element3", "element4"]

(5)concat(array1,array2,......,arrayX) 方法用於鏈接兩個或多個數組。

arrayX:必需。該參數能夠是具體的值,也能夠是數組對象。能夠是任意多個。get

//傳數組
let getReturn = arr.concat(['element5',"element6"],["element7"]);
console.log(getReturn);    //["element1", "element2", "element3", "element4", "element5", "element6", "element7"]
console.log(arr);    // ["element1", "element2", "element3", "element4"]

//傳元素
let getReturn = arr.concat('element5',"element6");
console.log(getReturn);    //["element1", "element2", "element3", "element4", "element5", "element6"]
console.log(arr);    //["element1", "element2", "element3", "element4"]

(6)sort(sortby) 方法用於對數組的元素進行排序。

sortby:可選。規定排序順序。必須是函數。
返回值:對數組的引用。請注意,數組在原數組上進行排序,不生成新數組。
比較規則:是按照字符編碼進行排序,因此可能只有排出來的不是你想要的結果,得傳參數解決

let newArr = [3,5,2,4,1];

let getReturn = newArr.sort();
console.log(getReturn);      //[1, 2, 3, 4, 5]
console.log(newArr);    //[1, 2, 3, 4, 5]

再看一個不如咱們所願的例子

let newArr = [1000,88,93,6,34];
let getReturn = newArr.sort();
console.log(getReturn);    //[1000, 34, 6, 88, 93]
console.log(newArr);    // [1000, 34, 6, 88, 93]

//要實現大小排序,咱們須要傳參數解決
function sortNumber(a,b){    //定義函數
    return a - b
}
let getReturn = newArr.sort(sortNumber);
console.log(getReturn);    //[6, 34, 88, 93, 1000]
console.log(newArr);    //[6, 34, 88, 93, 1000]

(7)shift() 方法用於把數組的第一個元素從其中刪除,並返回第一個元素的值。

若是數組是空的,那麼 shift() 方法將不進行任何操做,返回 undefined 值。

let getReturn = arr.shift();
  console.log(getReturn);    //element1
  console.log(arr);    //["element2","element3","element4"]

(8)unshift() 方法可向數組的開頭添加一個或更多元素,並返回新的長度。

arr.unshift(newelement1,newelement2,....,newelementX)

let getReturn = arr.unshift("element-1","element0");
  console.log(getReturn);    //6
  console.log(arr);    //["element-1","element0","element1","element2","element3","element4"]

(9)toString() 方法可把數組轉換爲字符串,並返回結果。

arr.unshift(newelement1,newelement2,....,newelementX)

let getReturn = arr.toString();
  console.log(getReturn,typeof getReturn);    //element1,element2,element3,element4 string
  console.log(arr,typeof arr);    //["element1", "element2", "element3", "element4"] "object"

注:用於字符串操做時,JavaScript 會調用這一方法將數組自動轉換成字符串。例如:

let string = arr+"123";
console.log(string);    //element1,element2,element3,element4123

(10)reverse() 方法用於顛倒數組中元素的順序。

該方法會改變原來的數組,而不會建立新的數組。

let getReturn = arr.reverse();
  console.log(getReturn);    //["element4", "element3", "element2", "element1"]
  console.log(arr);    //["element4", "element3", "element2", "element1"]

3.還有

此外,還有valueOf(),toLocaleString(),toSource()方法。可是歷來沒用過,也沒想到什麼使用場景,就不單獨講了。

相關文章
相關標籤/搜索