var arr = ["a", "b"]
console.log(arr) // [a, b]
console.log(typeof(arr)) // object
var arr = ["a", "b"]
console.log(arr.length) // 2
var arr = ["a", "b"]
console.log(arr[0]) // a
console.log(arr[1]) // b
console.log(arr[2]) // undefined
var arr = ["a", "b"]
arr[0] = "c"
console.log(arr[0]) // c
var arr = ["a", "b"]
arr.push("c")
console.log(arr) // [a, b, c]
var arr = ["a", "b"]
arr[arr.length] = "c"
console.log(arr) // [a, b, c]
var arr = ["a", "b"]
arr[4] = "c"
console.log(arr) // [a, b, undefined, undefined, c]
console.log(arr.length) // 5
var arr = ["a", "b", "c"]
arr.pop()
console.log(arr) // [a, b]
var arr = ["a", "b", "c"]
arr.shift()
console.log(arr) // [b, c]
var arr = ["a", "b", "c"]
delete arr[0]
console.log(arr) // [undefined, b, c]
splice() 是個特別的方法 他可以刪除元素也可以加入新的元素來改變陣列的內容
arr.splice(start, deleteCount, item1, item2, ...)
陣列中要開始改動的元素的index。若索引大於陣列長度,則實際開始的索引值會被設為陣列長度。若索引為負,則會從陣列中最後一個元素開始往前改動(起始為 -1)且若其絕對值大於陣列的長度,則會被設為 0。
一個表示欲刪除的原陣列元素數量的整數。 如省略了 deleteCount 或假如其值大於 arr.length - start 則所有從 start 開始到陣列中最後一個元素都會被刪除。 若 deleteCount 為 0 或是負數 則不會有元素被刪除 因此應該定至少新增一個元素
從 start 開始要加入的元素 如果你沒有指定任何元素則會依照 start 和 deleteCount 刪除元素
splice() 方法會回傳被刪除的陣列
var arr = ["a", "b", "c", "d"]
var results = arr.splice(2)
console.log(arr) // [a, b]
console.log(results) // [c, d]
var arr = ["a", "b", "c", "d"]
var results = arr.splice(0, 2)
console.log(arr) // [c, d]
console.log(results) // [a, b]
var arr = ["a", "b", "c", "d"]
var results = arr.splice(0, 2, "e")
console.log(arr) // [e, c, d]
console.log(results) // [a, b]
var arr = ["a", "b", "c", "d"]
arr.splice(1, 1)
console.log(arr) // [a, c, d]
var arr = ["a", "b", "c", "d"]
arr.splice(1, 0, "e")
console.log(arr) // [a, e, b, c, d]
var arr = ["a", "b"]
var arr2 = ["c", "d"]
var arr3 = ["e", "f"]
var arr4 = arr.concat(arr2, arr3)
console.log(arr4) // [a, b, c, d, e, f]
arr.slice(start, end)
表示開始取的 index
表示結束的 index
slice() 方法會回傳 start~end-1 index 的陣列
var arr = ["a", "b", "c", "d"]
var sub_arr = arr.slice(1, 3)
console.log(sub_arr) // [b, c]