1. 程式人生 > >數組的 增刪改查 及常見方法

數組的 增刪改查 及常見方法

兩個 項目 splice 所有 pop 之間 精確 cat UNC

<script>
var arr=[1,2,3,4]
// 增
// push() 方法
// 在數組末尾增加元素 返回的是新數組的長度
// arr.push(5,6)
// alert(arr.push(5,6))//8
// alert(arr)//1,2,3,4,5,6,5,6

// unshift()方法
// 想數組的最前面添加元素,返回的是新數組的長度
var arr2=[1,2,3,4]
arr.unshift(5,6);
//alert(arr)//5,6,1,2,3,4
// alert(arr.unshift(7,8))//8

// 刪
// pop()方法
// 刪除數組中最後一個元素 返回的是刪除的元素
var arr3=[1,2,3,4]
arr3.pop();
//alert(arr3)//1,2,3
//alert(arr3.pop())//3

// shift()方法
// 刪除數組中第一個元素 返回的是刪除的元素
var arr5=[1,2,3,4]
arr5.shift();
//alert(arr5);//2,3,4
//alert(arr5.shift())//2
//alert(arr5)//3,4

// 改
// slice(start,end)(包括開頭 不包括結尾)
// start必需。規定從何處開始選取。如果是負數,那麽它規定從數組尾部開始算起的位置。也就是說,-1 指最後一個元素,-2 指倒數第二個元素,以此類推。(也可以理解成length+start處理)
// end 可選。規定從何處結束選取。該參數是數組片斷結束處的數組下標。如果沒有指定該參數,那麽切分的數組包含從 start 到數組結束的所有元素。如果這個參數是負數,那麽它規定的是從數組尾部開始算起的元素。(也可以理解成length+end處理)
// 和字符串中的用法一樣
var arr6=[0,1,2,3,4,5,6,7,8,9];
//alert(arr6.slice(2,5))//2,3,4
// alert(arr6.slice(3))//3,4,5,6,7,8,9
//alert(arr6.slice(-7,-4))//3,4,5 相當於slice(3,6)
// alert(arr6.slice(-4));//6,7,8,9 相當於slice(6)

// splice(index,howmany,item1,.....,itemX)方法
// index 必需。整數,規定添加刪除項目的位置,使用負數可從數組結尾處規定位置。
// howmany 必需。要刪除的項目數量。如果設置為 0,則不會刪除項目。
// item1, ..., itemX 可選。向數組添加的新項目。
// 返回被截取的元素,原數組被改變
// splice()方法可以完成 增刪改
var arr7=[0,1,2,3,4,5,6,7,8,9]
// 刪 改
//arr7.splice(2,2,"哈哈哈")//返回被切割的元素 2,3
//alert(arr7)//0,1,哈哈哈,4,5,6,7,8,9
// 增
// alert(arr7.splice(3,0,"恩恩"))//空白 因為沒有截取元素
// alert(arr7)//0,1,2,恩恩,3,4,5,6,7,8,9
//alert(arr7.splice(-3,1))//7

// 查就不用說了 直接用下標查詢就行

// join()方法
// 把 arrayObject 的每個元素轉換為字符串,然後把這些字符串連接起來,在兩個元素之間插入 separator 字符串而生成的。
var arr8=[1,2,3,4,5]
console.log(typeof arr8.join()[0])//"1,2,3,4,5" string 因為沒有指定分隔符 默認為逗號 類型已經是string了 可以用typeof 檢查一下
console.log(arr8.join("+"))//"1+2+3+4+5" 指定分隔符為+
console.log(arr8.join("a"))//"1a2a3a4a5"
// 數組的join()方法 與 字符串的split()方法相反 後者是將字符串切割成字符串數組

// reverse()方法
// reverse() 方法用於顛倒數組中元素的順序。
// 該方法會改變原來的數組,而不會創建新的數組。
var arr9=["aa",4,6,"bb"];
console.log(arr9.reverse())//["bb", 6, 4, "aa"]
console.log(arr9)//["bb", 6, 4, "aa"]

// sort(sortby)方法
// sortby 可選 必須是一個函數 返回 負數 是升序 0 代表倆值相等 返回整數位 降序
// 用於對數組的元素進行排序。按照字符編碼排序
var arr10=[2,13,3,46,5]
console.log(arr10.sort())//[13, 2, 3, 46, 5]
console.log(arr10.sort(function(a,b){return a-b;}))//[2, 3, 5, 13, 46]
console.log(arr10.sort(function(a,b){return b-a;}))//[46, 13, 5, 3, 2]

// 如果調用該方法時沒有使用參數,將按字母順序對數組中的元素進行排序,說得更精確點,是按照字符編碼的順序進行排序。要實現這一點,首先應把數組的元素都轉換成字符串(如有必要),以便進行比較。

// 如果想按照其他標準進行排序,就需要提供比較函數,該函數要比較兩個值,然後返回一個用於說明這兩個值的相對順序的數字。比較函數應該具有兩個參數 a 和 b,其返回值如下:

// 若 a 小於 b,在排序後的數組中 a 應該出現在 b 之前,則返回一個小於 0 的值。
// 若 a 等於 b,則返回 0。
// 若 a 大於 b,則返回一個大於 0 的值。

//concat()方法 合並數組
var arr11=[1,2];
var arr12=[3.4];
// console.log(arr11.concat(arr12))/[1, 2, 3.4]


</script>

數組的 增刪改查 及常見方法