溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

JavaScript中Array對象常用的方法有哪些

發(fā)布時間:2020-12-08 11:08:02 來源:億速云 閱讀:138 作者:小新 欄目:web開發(fā)

小編給大家分享一下JavaScript中Array對象常用的方法有哪些,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

在js中,數(shù)組作為一個特殊的對象。是我們常用的數(shù)據(jù)格式。

1.基礎(chǔ)

幾種基礎(chǔ)的就簡單介紹一下:
創(chuàng)建數(shù)組

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

new Array()創(chuàng)建數(shù)組有一個需要注意的地方。只傳一個參數(shù)時,如果這個值是非數(shù)字。會被當做數(shù)組的第一個參數(shù),生成一個長度為1的數(shù)組。如果是數(shù)字,就會創(chuàng)建一個這個數(shù)字長度的空數(shù)組。

但其實上面的創(chuàng)建方法不常用。我們更習慣這么寫

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

基礎(chǔ)方法

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

2.其它方法

var arr = ["element1","element2","element3","element4"];     //下面所有案列都是用的這個數(shù)組

//獲取指定元素的下標
var index = arr. indexOf(”element2“);   // 1
(1)splice(index,number,item1,.....,itemX)從數(shù)組中添加/刪除元素,然后返回被刪除的元素。
參數(shù)描述
index必需。整數(shù)。添加/刪除項目的位置,使用負數(shù)可從數(shù)組結(jié)尾處規(guī)定位置。
number必需。要刪除的項目數(shù)量。如果設(shè)置為 0,則不會刪除項目。
item1, ..., itemX可選。向數(shù)組添加的新項目。

來看實際例子

//刪除
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()方法,刪除數(shù)組最后一位,返回被刪除的元素。
let getReturn = arr.pop();
console.log(getReturn);    //element4
console.log(arr);    //["element1","element2","element3"]
(3)slice(start,end) 從已有的數(shù)組中返回選定的元素。
參數(shù)描述
start必需。整數(shù)。添加/刪除項目的位置,使用負數(shù)可從數(shù)組結(jié)尾處規(guī)定位置。
end必需。要刪除的項目數(shù)量。如果設(shè)置為 0,則不會刪除項目。

注意:請注意,該方法并不會修改數(shù)組,而是返回一個子數(shù)組。如果想刪除數(shù)組中的一段元素,應(yīng)該使用方法 Array.splice()。

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

(4)join(separator)把數(shù)組中的所有元素放入一個字符串。

separator:可選。指定要使用的分隔符。如果省略該參數(shù),則使用逗號作為分隔符。

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

(5)concat(array1,array2,......,arrayX) 方法用于連接兩個或多個數(shù)組。

arrayX:必需。該參數(shù)可以是具體的值,也可以是數(shù)組對象。可以是任意多個。

//傳數(shù)組
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) 方法用于對數(shù)組的元素進行排序。

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

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]

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

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

如果數(shù)組是空的,那么 shift() 方法將不進行任何操作,返回 undefined 值。

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

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

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() 方法可把數(shù)組轉(zhuǎn)換為字符串,并返回結(jié)果。

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 會調(diào)用這一方法將數(shù)組自動轉(zhuǎn)換成字符串。例如:

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

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

該方法會改變原來的數(shù)組,而不會創(chuàng)建新的數(shù)組。

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

3.還有

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

看完了這篇文章,相信你對JavaScript中Array對象常用的方法有哪些有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI