JS-Array對象

1.concat

用於連接兩個或多個數組,該方法不會改變現有的數組,而僅僅會返回被連接數組的一個副本

返回值

返回一個新的數組。該數組是通過把所有 arrayX 參數添加到 arrayObject 中生成的。如果要進行 concat() 操作的參數是數組,那麼添加的是數組中的元素,而不是數組。

arrayObject.concat(arrayX,arrayX,......,arrayX)

參數

  • 必需
    • 該參數可以是具體的值,也可以是數組對象。可以是任意多個。
var a = [1,2,3];
document.write(a.concat(4,5));
var a = [1,2,3];
document.write(a.concat([555,666]));
var a = [1,2,3];
var b = [555,666];
var c = [777,888];
document.write(a.concat(b,c));

2. join

用於把數組中的所有元素放入一個字符串。元素是通過指定的分隔符進行分隔的。

返回值

返回一個字符串。該字符串是通過把 arrayObject 的每個元素轉換爲字符串,然後把這些字符串連接起來,在兩個元素之間插入 separator 字符串而生成的。

arrayObject.join(separator)

參數

  • 可選
    • separator 指定要使用的分隔符。如果省略該參數,則使用逗號作爲分隔符。
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

document.write(arr.join())

3. pop

用於把數組中的所有元素放入一個字符串。元素是通過指定的分隔符進行分隔的

返回值

arrayObject 的最後一個元素。

說明

pop() 方法將刪除 arrayObject 的最後一個元素,把數組長度減 1,並且返回它刪除的元素的值。如果數組已經爲空,則 pop() 不改變數組,並返回 undefined 值。

arrayObject.pop()

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

document.write(arr)

document.write("<br />")

document.write(arr.pop())

document.write("<br />")

document.write(arr)

4. push

可向數組的末尾添加一個或多個元素,並返回新的長度

返回值

把指定的值添加到數組後的新長度。

說明

push() 方法可把它的參數順序添加到 arrayObject 的尾部。它直接修改 arrayObject,而不是創建一個新的數組。push() 方法和 pop() 方法使用數組提供的先進後出棧的功能。

註釋:該方法會改變數組的長度。

提示:要想數組的開頭添加一個或多個元素,請使用 unshift() 方法。

arrayObject.push(newelement1,newelement2,....,newelementX)

參數

  • 必需
    • newelement1 要添加到數組的第一個元素。
  • 可選
    • newelement2 要添加到數組的第二個元素。
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

document.write(arr + "<br />")
document.write(arr.push("James") + "<br />")
document.write(arr)

5. reverse

用於顛倒數組中元素的順序

註釋:該方法會改變原來的數組,而不會創建新的數組。

arrayObject.reverse()

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

document.write(arr + "<br />")
document.write(arr.reverse())

6. shift

用於把數組的第一個元素從其中刪除,並返回第一個元素的值

返回值

數組原來的第一個元素的值。

說明

如果數組是空的,那麼 shift() 方法將不進行任何操作,返回 undefined 值。請注意,該方法不創建新數組,而是直接修改原有的 arrayObject。

註釋:該方法會改變原來的數組,而不會創建新的數組。

提示:要刪除並返回數組的最後一個元素,請使用 pop() 方法。

arrayObject.shift()

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

document.write(arr + "<br />")
document.write(arr.shift() + "<br />")
document.write(arr)

7. slice

可從已有的數組中返回選定的元素

返回值

返回一個新的數組,包含從 start 到 end (不包括該元素)的 arrayObject 中的元素。

說明

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

註釋:如果 end 未被規定,那麼 slice() 方法會選取從 start 到數組結尾的所有元素。

提示:您可使用負值從數組的尾部選取元素。

arrayObject.slice(start,end)

參數

  • 必需
    • start 規定從何處開始選取。如果是負數,那麼它規定從數組尾部開始算起的位置。也就是說,-1 指最後一個元素,-2 指倒數第二個元素,以此類推。
  • 可選
    • end 規定從何處結束選取。該參數是數組片斷結束處的數組下標。如果沒有指定該參數,那麼切分的數組包含從 start 到數組結束的所有元素。如果這個參數是負數,那麼它規定的是從數組尾部開始算起的元素。
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

document.write(arr + "<br />")
document.write(arr.slice(1) + "<br />")
document.write(arr)

8. sort

用於對數組的元素進行排序

返回值

對數組的引用。請注意,數組在原數組上進行排序,不生成副本。

說明

如果調用該方法時沒有使用參數,將按字母順序對數組中的元素進行排序,說得更精確點,是按照字符編碼的順序進行排序。要實現這一點,首先應把數組的元素都轉換成字符串(如有必要),以便進行比較。
如果想按照其他標準進行排序,就需要提供比較函數,該函數要比較兩個值,然後返回一個用於說明這兩個值的相對順序的數字。比較函數應該具有兩個參數 a 和 b,其返回值如下:
* 若 a 小於 b,在排序後的數組中 a 應該出現在 b 之前,則返回一個小於 0 的值。
* 若 a 等於 b,則返回 0。
* 若 a 大於 b,則返回一個大於 0 的值。

arrayObject.sort(sortby)

參數

  • 可選
    • sortby 規定排序順序。必須是函數。
var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")
document.write(arr.sort())
function sortNumber(a,b)
{
    return a - b //小到大
    return b - a //大到小
}

var arr = new Array(6)
arr[0] = "10"
arr[1] = "5"
arr[2] = "40"
arr[3] = "25"
arr[4] = "1000"
arr[5] = "1"

document.write(arr + "<br />")
document.write(arr.sort(sortNumber))

9. splice

向/從數組中添加/刪除項目,然後返回被刪除的項目

返回值

返回Array類型,包含被刪除項目的新數組,如果有的話。

說明

splice() 方法可刪除從 index 處開始的零個或多個元素,並且用參數列表中聲明的一個或多個值來替換那些被刪除的元素。
如果從arrayObject中刪除了元素,則返回的是含有被刪除的元素的數組。

提示:該方法會改變原始數組。

註釋:請注意,splice() 方法與 slice() 方法的作用是不同的,splice() 方法會直接對數組進行修改。

arrayObject.splice(index,howmany,item1,.....,itemX)

參數

  • 必需
    • index 整數,規定添加/刪除項目的位置,使用負數可從數組結尾處規定位置。
    • howmany 要刪除的項目數量。如果設置爲 0,則不會刪除項目。
  • 可選
    • item1, …, itemX 向數組添加的新項目。
//在本例中,我們將創建一個新數組,並向其添加一個元素
var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")
arr.splice(2,0,"William")
document.write(arr + "<br />")
//在本例中我們將刪除位於 index 2 的元素,並添加一個新元素來替代被刪除的元素
var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")
arr.splice(2,1,"William")
document.write(arr)
//在本例中我們將刪除從 index 2 ("Thomas") 開始的三個元素,並添加一個新元素 ("William") 來替代被刪除的元素
var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")
arr.splice(2,3,"William")
document.write(arr)

10. toString

可把數組轉換爲字符串,並返回結果

返回值

arrayObject 的字符串表示。返回值與沒有參數的 join() 方法返回的字符串相同。

說明

當數組用於字符串環境時,JavaScript 會調用這一方法將數組自動轉換成字符串。但是在某些情況下,需要顯式地調用該方法。

註釋:數組中的元素之間用逗號分隔。

arrayObject.toString()

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

document.write(arr.toString())

//George,John,Thomas

11. toLocaleString

把數組轉換爲本地字符串

返回值

arrayObject 的本地字符串表示。

說明

首先調用每個數組元素的 toLocaleString() 方法,然後使用地區特定的分隔符把生成的字符串連接起來,形成一個字符串。

arrayObject.toLocaleString()

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

document.write(arr.toLocaleString())

//George,John,Thomas

12. unshift

可向數組的開頭添加一個或更多元素,並返回新的長度

返回值

arrayObject 的新長度。

說明

unshift() 方法將把它的參數插入 arrayObject 的頭部,並將已經存在的元素順次地移到較高的下標處,以便留出空間。該方法的第一個參數將成爲數組的新元素 0,如果還有第二個參數,它將成爲新的元素 1,以此類推。

請注意,unshift() 方法不創建新的創建,而是直接修改原有的數組。

註釋:該方法會改變數組的長度。unshift() 方法無法在 Internet Explorer 中正確地工作!

提示:要把一個或多個元素添加到數組的尾部,請使用 push() 方法。

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

參數

  • 必需
    • newelement1 向數組添加的第一個元素。
  • 可選
    • newelement2, …, newelementX 可添加若干個元素。
var arr = new Array()
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

document.write(arr + "<br />")
document.write(arr.unshift("William") + "<br />")
document.write(arr)

文檔內容出自 W3cSchool和菜鳥教程,
如需查看更詳細的有關內容 請登錄 http://www.w3school.com.cn/http://www.runoob.com/

發佈了44 篇原創文章 · 獲贊 12 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章